成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL left join, right join的區別

數據庫 MySQL
我們今天主要向大家描述的是MySQL left join, right join, 以及inner join的實際用法的分析,主要描述的是其不同之處。

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

 

下面是例子分析

 

表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

 

創建這兩個表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, ‘a20050111′ ) , ( 2, ‘a20050112′ ) , ( 3, ‘a20050113′ ) , ( 4, ‘a20050114′ ) , ( 5, ‘a20050115′ ) ;  
  11. INSERT INTO b  
  12. VALUES ( 1, ‘ 2006032401′ ) , ( 2, ‘2006032402′ ) , ( 3, ‘2006032403′ ) , ( 4, ‘2006032404′ ) , ( 8, ‘2006032408′ ) ; 

實驗如下:

1.MySQL left join(左聯接)

 

sql語句如下:

 

SELECT * FROM a

 

LEFT JOIN b

 

ON a.aID =b.bID

 

結果如下:

 

aID aNum bID bName

 

1 a20050111 1 2006032401

 

2 a20050112 2 2006032402

 

3 a20050113 3 2006032403

 

4 a20050114 4 2006032404

 

5 a20050115 NULL NULL

 

(所影響的行數為 5 行)

 

結果說明:

 

MySQL left join是以A表的記錄為基礎的,A可以看成左表,B可以看成右表,left join是以左表為準的.

 

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

 

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

 

2.right join(右聯接)

 

sql語句如下:

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

結果如下:

aID aNum bID bName

 

1 a20050111 1 2006032401

 

2 a20050112 2 2006032402

 

3 a20050113 3 2006032403

 

4 a20050114 4 2006032404

 

NULL NULL 8 2006032408

 

(所影響的行數為 5 行)

 

結果說明:

 

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

 

3.inner join(相等聯接或內聯接)

 

sql語句如下:

 

SELECT * FROM a

 

INNER JOIN b

 

ON a.aID =b.bID

 

等同于以下SQL句:

 

SELECT *

 

FROM a,b

 

WHERE a.aID = b.bID

 

結果如下:

 

aID aNum bID bName

 

1 a20050111 1 2006032401

 

2 a20050112 2 2006032402

 

3 a20050113 3 2006032403

 

4 a20050114 4 2006032404

 

結果說明:

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

名稱。

 

compopr參數指定關系比較運算符:”=”, “<”, “>”, “<=”, “>=” 或 “<>”。

 

如果在INNER JOIN操作中要聯接包含Memo 數據類型或 OLE Object 數據類型數據的字段,將會發生錯誤。

 

 

 【編輯推薦】

  1. MySQL 4.1 數據轉換的指導
  2. 配置MySQL與卸載MySQL實操
  3. MySQL 修改密碼的6個好用方案
  4. MySQL數據庫訪問妙招在Linux之下
  5. 從MySQL數據庫表中來檢索數據并不難

 

責任編輯:佚名 來源: 博客園
相關推薦

2025-01-15 08:05:06

MySQLLEFT JOIN數據庫

2009-09-16 17:07:00

linq實現Left

2010-05-21 14:36:00

MySQL left

2010-05-18 14:14:03

MySQL關聯left

2018-04-13 10:38:49

數據庫SQLJoin

2010-04-21 17:51:36

Oracle左連接

2023-10-24 15:29:54

MySQL

2010-05-05 10:32:06

Oracle左連接le

2022-01-26 22:14:59

HiveSQLSQL腳本

2024-01-09 09:46:13

數據庫MySQL

2018-04-03 15:20:07

數據庫MySQLjoin連接

2021-08-11 21:46:47

MySQL索引join

2020-03-05 11:10:18

Left join數據庫MySQL

2020-11-12 07:49:18

MySQL

2024-10-05 00:00:10

SQL語句指定連接條

2022-09-14 08:01:36

JoinMySQL迭代器

2023-10-08 08:53:36

數據庫MySQL算法

2017-08-31 14:57:53

數據庫MySQLJOIN

2024-03-15 08:06:58

MySQLJOIN命令

2021-07-13 10:00:01

ThreadJoin方法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区在线视频 | 午夜免费影视 | 又黑又粗又长的欧美一区 | 亚州一区二区三区 | 黄色av免费 | 99亚洲精品视频 | 成人美女免费网站视频 | 国产精品免费一区二区三区 | 欧美精品一区二区免费 | 特一级毛片 | 99热这里都是精品 | 亚洲一一在线 | 亚洲精品成人av | 欧美大片一区 | 国产亚洲一级 | 久久天天躁狠狠躁夜夜躁2014 | 久久精品国产一区二区三区 | 日韩欧美中文字幕在线视频 | 国产亚洲一区二区精品 | 韩日精品在线观看 | 国产一区二区免费 | 欧美日韩综合视频 | 中文字幕精品一区 | 久久爱综合 | 欧美日韩成人 | 国产精品一区二区视频 | 久久亚洲春色中文字幕久久久 | 国内精品久久久久久影视8 最新黄色在线观看 | 欧美激情国产精品 | 中文字幕免费视频 | 日韩精品视频在线播放 | 免费性视频 | 国产精品视频在线观看 | 国产精品成人免费 | 最新日韩在线视频 | 国产精品久久久久久婷婷天堂 | 日韩成人性视频 | 国产我和子的乱视频网站 | 久久宗合色| 婷婷在线网站 | 国产在线永久免费 |