資料庫 表的連線操作
表的連線操作:
對於資料表的連線操作在資料庫之中一共定義了兩種:
內連線:也稱為等值連線,是最早的一種連線。還可以被稱為普通連線或者自然連線,內連線是從結果表中刪除與其他被連線表中沒有匹配行的所有行,所以內連線可能會丟失資訊。WHERE子句中設定的消除笛卡爾積的條件就是使用了等值判斷的方式進行的;
外連結:內連線中只能夠顯示等值滿足條件的,如果不滿住條件的無法顯示,如果希望可以顯示特定表的全部資料,就用外連結:外連線分為三種:左外連線,右外連線,全外連線。
先擴充一下資料:在emp表中增加一條沒有部門的僱員資訊。
INSERT INTOemp(empno,ename,job,hiredate,sal,comm,deptno)
VALUES (8888,'KING',7369,SYSDATE,800,100,NULL);
查詢部門編號:
SELECT *
FROM emp e, dept d
WHERE e.deptno = d.deptno;
問題1.沒有部門的僱員沒有顯示;
問題2.有一個40部門沒有顯示;
想要顯示emp或dept中的表的資料顯示完整,就可以使用外部連結:
左外連結:左關係屬性=右關係屬性(+),放在等號的右邊表示左連線;意思就是顯示左邊表中沒有顯示的資訊;
右外連結:左關係屬性(+)=右關係屬性,放在等號的左邊表示右連線;意思就是顯示右邊表中沒有顯示的資訊;