教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓之連接查詢之內連接(二)

更新時間:2016年06月24日15時11分 來源:傳智播客java培訓學院 瀏覽次數:

3.自然連接

自然連接(Natural join)是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉。而等值連接并不去掉重復的屬性列。
自然連接的語法如下:
  • SELECT * FROM 表1 別名1 NATURAL JOIN 表2 別名2
(1)將emp表中的deptno列名修改為dp,如圖1-4所示:

圖1-4 修改列名
(2)查詢每個員工的信息及所在部門信息,使用自然連接查詢,對應的sql語句是:select * from emp e NATURAL JOIN dept d,查詢結果如圖1-5所示:

圖1-5 自然連接
自然連接查詢的步驟:
  • 第一步:做笛卡爾積;
  • 第二步:做等值判斷,例如emp.某個列名=dept.某個列名,要求兩個表進行比較的列名相同;
  • 第三步:去掉重復的的屬性列。
圖1-5中,查詢結果的列數是11,emp表的總列數是8,dept表的總列數是3,也就是說查詢結果包含兩個表的所有列。并且查詢結果的記錄數是60,出現這種情況的原因是emp表中沒有與dept表相同的列,我們將emp表中的deptno列名修改為dp,因此在進行自然連接時,查詢的第二步與第三步就無法進行,只做了第一步,因此結果就是兩個表的笛卡爾積。
(3)將emp表的列名dp修改為deptno,然后再進行自然連接,查詢每個員工的姓名、工資以及所在部門的名稱,查詢結果如圖1-6所示:

圖1-6 自然連接
圖1-6中,查詢結果的總記錄數是14,每個員工的相關信息都正確的查詢出來了。

本文版權歸傳智播客Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:傳智播客Java培訓學院
首發(fā):http://xamj520.com/javaee
0 分享到:
和我們在線交談!