2016-12-11 23 views
0

您好值我有两个MySQL表表1和表2中。如何不选择存在于另一个表

表1: -

batch semester scode 
IT   6  DA 
IT   6  IA 
IT   6  FA 

表2: -

batch subject user 
IT  DA  1 

我想运行查询以获得此输出: -

scode 
IA 
FA 

所以基本上我想从表1中检索值不存在于表2中的ID为1的用户,批次是IT和学期是6.我是新的从两个表中获取数据的概念,所以我无法想办法做到这一点。任何帮助,高度赞赏。

+0

的可能的复制[排除与某些价值观SQL选择某些特定记录(http://stackoverflow.com/questions/38983582/exclude-certain-records-with-certain-values-sql-select ) – demo

回答

0

您可以使用NOT EXISTS

SELECT 
scode 
FROM TABLE1 T1 
WHERE NOT EXISTS (
    SELECT 1 FROM TABLE2 T2 WHERE T1.scode = T2.subject 
); 

SEE DEMO


您可以使用NOT IN

SELECT 
scode 
FROM TABLE1 T1 
WHERE T1.scode NOT IN (
    SELECT T2.subject FROM TABLE2 T2 
) 

SEE DEMO


+0

我需要根据批次和学期选择scode。 –

+0

这两张桌子如何相关? – 1000111

+1

@KartikeyVishwakarma。 。 。这个答案发布后你改变了问题。这是不礼貌的,因为这个答案现在已经过时了,而那些竭力帮助你的人可能会得到低价。我建议你撤消你的编辑,接受这个答案,并提出另一个问题。 –

相关问题