2016-09-15 120 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)