这个表的等价sql是什么?我想只获取all_user表中不在your_friend表中的人员姓名
Angelina Jolie
布拉德皮特
彼得帕克
克拉克肯特
表名:all_user
(用户)
安吉丽娜朱莉
布拉德皮特
彼得帕克
玛丽简
克拉克肯特
Lois Lane
表名:your_friend
(朋友)
路易斯巷
Marj Jane
select distinct * from all_user where not in (select * from your_friend where all_user.users = your_friend.friend)
这是我的答案,我在IN语法附近收到错误。
答案 0 :(得分:1)
您尚未指定RDBMS。如果您的引擎支持它,EXCEPT
操作就是您要找的。它评估两个查询表达式的输出,并返回结果之间的差异。结果集包含从第一个查询表达式返回的所有行,但从第二个查询表达式返回的行除外。
SELECT DISTINCT <Columns_To_Be_Included>
FROM all_user
EXCEPT
SELECT DISTINCT <Columns_To_Be_Included>
FROM your_friend
但请注意,这在记录级别有效。因此,您只需指定要包含在比较中的列。
答案 1 :(得分:0)
试试这个
select distinct * from all_users where users not in (select distinct friend from your_friend)