數據庫(7)
多表連接(就是把多個表變成一個表再去操作)
內連接(inner join...on)
select...
from 表1 inner join 表2 on 連接條件
where...
...
連接過程:鏈接過程:拿表1的每一條數據與表2的每一條數據根據鏈接條件去匹配,
如果匹配到記錄,則把這條匹配的數據放到新的結果集中.
如果匹配不到記錄,不放入結果集中,並且進行下一條的匹配.
等價於:
select ....
from 表1,表2
where 連接條件
eg:求員工的薪資等級
非等值條件
select e.ENAME,s.GRADE from EMP e,SALGRADE s where e.SAL between s.LOSAL and s.HISAL;
左|右外連接(主表的區別)
語法:select * from 表1 left join 表2 on 連接條件
語法:select * from 表1 right join 表2 on 連接條件
連接過程:拿著主表(左外連接就是左邊表,右外連接就是右邊表)
每一條記錄與從表的每一條記錄按連接條件匹配,
如果匹配到記錄則把記錄組合放到結果集中,
如果朱彪的記錄在從表中沒有匹配到記錄,則主表的記錄,
也會放入結果集中並且從表的記錄的列的值是null.
1 --示例外鏈接 2 --左外鏈接 3 SELECT * FROM EMP E LEFT JOIN DEPT D ON E.DEPTNO=D.DEPTNO; 4 --右外連接 5 SELECT * FROM DEPT D RIGHT JOIN EMP E ON E.EMPNO=D.DEPTNO;
數據庫(7)