原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處
上章通過(guò)左聯(lián)查詢出了學(xué)生,列表以及學(xué)生所在的班級(jí),用右聯(lián)也是可以得到同樣的效果的:
SELECT s.id sid, s.name sname, s.gender sgender,s.stu_no sno,c.name cname FROM student s RIGHT JOIN class c ON s.class_id = c.id;
咋一看,感覺(jué)和左聯(lián)沒(méi)有啥區(qū)別,其實(shí)左聯(lián)和右聯(lián)的區(qū)別就是左聯(lián)ON左邊的表拼接在左邊,數(shù)據(jù)以左邊數(shù)據(jù)為主,右邊表格不滿足的為null,右聯(lián)ON右邊的表拼接在右邊,數(shù)據(jù)以右邊表的數(shù)據(jù)為主,左邊表格不滿足的數(shù)據(jù)為null。
新增幾個(gè)數(shù)據(jù),測(cè)試一下:
左聯(lián):
SELECT * FROM student s LEFT JOIN class c ON s.class_id = c.id;
右聯(lián):
SELECT * FROM student s RIGHT JOIN class c ON s.class_id = c.id;
如果把左右表的位置交換一下:
左聯(lián):
SELECT * FROM class c LEFT JOIN student s ON s.class_id = c.id;
右聯(lián):
SELECT * FROM class c RIGHT JOIN student s ON s.class_id = c.id;
嗯,就這樣。