日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

以下的文章主要是對(duì)MySQL left join, right join, 以及inner join的實(shí)際用法的分析(主要介紹的是不同之處)的詳細(xì)解析以下的文章主要是對(duì)以實(shí)例演示的形式來對(duì)其實(shí)際操作進(jìn)行說明,以下就是文章的詳細(xì)內(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)建這兩個(gè)表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′ ) ;

實(shí)驗(yàn)如下:

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)的記錄將會(huì)全部表示出來,而右表(B)只會(huì)顯示符合搜索條件的記錄(例子中為: 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é)果說明:

仔細(xì)觀察一下,就會(huì)發(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 運(yùn)算來創(chuàng)建一個(gè)左邊外部聯(lián)接。左邊外部聯(lián)接將包含了從第一個(gè)(左邊)開始的兩個(gè)表中的全部記錄,即

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

語法: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)系比較運(yùn)算符:”=”, “<”, “>”, “<=”, “>=” 或 “<>”。

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


新聞標(biāo)題:MySQLleftjoin,rightjoin的區(qū)別
瀏覽地址:http://www.5511xx.com/article/dhioiph.html