日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQLleftjoin,rightjoin的區(qū)別

以下的文章主要是對MySQL left join, right join, 以及inner join的實際用法的分析(主要介紹的是不同之處)的詳細解析以下的文章主要是對以實例演示的形式來對其實際操作進行說明,以下就是文章的詳細內(nèi)容描述。

下面是例子分析

表A記錄如下:

aID aNum

1 a20050111

2 a20050112

3 a20050113

4 a20050114

5 a20050115

表B記錄如下:

bID bName

1 2006032401

2 2006032402

3 2006032403

4 2006032404

8 2006032408

創(chuàng)建這兩個表SQL語句如下:

 
 
 
  1. CREATE TABLE a
  2. aID int( 1 ) AUTO_INCREMENT PRIMARY KEY ,
  3. aNum char( 20 )
  4. )
  5. CREATE TABLE b(
  6. bID int( 1 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  7. bName char( 20 )
  8. )
  9. INSERT INTO a
  10. VALUES ( 1, ‘a(chǎn)20050111′ ) , ( 2, ‘a(chǎn)20050112′ ) , ( 3, ‘a(chǎn)20050113′ ) , ( 4, ‘a(chǎn)20050114′ ) , ( 5, ‘a(chǎn)20050115′ ) ;
  11. INSERT INTO b
  12. VALUES ( 1, ‘ 2006032401′ ) , ( 2, ‘2006032402′ ) , ( 3, ‘2006032403′ ) , ( 4, ‘2006032404′ ) , ( 8, ‘2006032408′ ) ;

實驗如下:

1.MySQL left join(左聯(lián)接)

sql語句如下:

SELECT * FROM a

LEFT JOIN b

ON a.aID =b.bID

結(jié)果如下:

aID aNum bID bName

1 a20050111 1 2006032401

2 a20050112 2 2006032402

3 a20050113 3 2006032403

4 a20050114 4 2006032404

5 a20050115 NULL NULL

(所影響的行數(shù)為 5 行)

結(jié)果說明:

MySQL left join是以A表的記錄為基礎(chǔ)的,A可以看成左表,B可以看成右表,left join是以左表為準(zhǔn)的.

換句話說,左表(A)的記錄將會全部表示出來,而右表(B)只會顯示符合搜索條件的記錄(例子中為: A.aID = B.bID).

B表記錄不足的地方均為NULL.

2.right join(右聯(lián)接)

sql語句如下:

 
 
 
  1. SELECT * FROM a
  2. RIGHT JOING b
  3. ON a.aID = b.bID

結(jié)果如下:

aID aNum bID bName

1 a20050111 1 2006032401

2 a20050112 2 2006032402

3 a20050113 3 2006032403

4 a20050114 4 2006032404

NULL NULL 8 2006032408

(所影響的行數(shù)為 5 行)

結(jié)果說明:

仔細觀察一下,就會發(fā)現(xiàn),和MySQL left join的結(jié)果剛好相反,這次是以右表(B)為基礎(chǔ)的,A表不足的地方用NULL填充.

3.inner join(相等聯(lián)接或內(nèi)聯(lián)接)

sql語句如下:

SELECT * FROM a

INNER JOIN b

ON a.aID =b.bID

等同于以下SQL句:

SELECT *

FROM a,b

WHERE a.aID = b.bID

結(jié)果如下:

aID aNum bID bName

1 a20050111 1 2006032401

2 a20050112 2 2006032402

3 a20050113 3 2006032403

4 a20050114 4 2006032404

結(jié)果說明:

很明顯,這里只顯示出了 A.aID = B.bID的記錄.這說明inner join并不以誰為基礎(chǔ),它只顯示符合條件的記錄.

MySQL LEFT JOIN操作用于在任何的 FROM 子句中,

組合來源表的記錄。使用 LEFT JOIN 運算來創(chuàng)建一個左邊外部聯(lián)接。左邊外部聯(lián)接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即

使在第二個(右邊)表中并沒有相符值的記錄。

語法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2

說明:table1, table2參數(shù)用于指定要將記錄組合的表的名稱。

field1, field2參數(shù)指定被聯(lián)接的字段的名稱。且這些字段必須有相同的數(shù)據(jù)類型及包含相同類型的數(shù)據(jù),但它們不需要有相同的

名稱。

compopr參數(shù)指定關(guān)系比較運算符:”=”, “<”, “>”, “<=”, “>=” 或 “<>”。

如果在INNER JOIN操作中要聯(lián)接包含Memo 數(shù)據(jù)類型或 OLE Object 數(shù)據(jù)類型數(shù)據(jù)的字段,將會發(fā)生錯誤。


文章名稱:MySQLleftjoin,rightjoin的區(qū)別
標(biāo)題來源:http://www.dlmjj.cn/article/dhioiph.html