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

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

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

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

3.自然連接

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

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

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

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

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