2016-09-15 54 views
0

我有两个表我想不结果显示学生我想相反的结果

学生表

Sname snumber 
A    1 
B    2 
C    3 
G    4 

和结果表

Snumber marks 
1     90 
4     60 

我有以下代码

Select student.sname from student 
Join results 
On student.snumber=results.snumber 

其显示带着结果的学生。我希望学生没有结果是B和C

+2

研究关于左连接 –

回答

3

试试这个,

Select student.sname 
from student 
LEFT Join results 
    On student.snumber=results.snumber 
WHERE results.snumber is null 

如果希望所有的学生,然后删除where子句。

2

LEFT JOIN溶液(@Jatin帕特尔),你可以看到一个NOT EXISTS

SELECT * 
FROM Students S 
WHERE NOT EXISTS(SELECT * FROM results R WHERE S.snumber=R.snumber)