日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SQL中的連接查詢詳解

瀏覽:47日期:2023-03-06 14:25:15

Join 連接 (SQL Join)

SQL Join (連接) 是利用不同數據表之間字段的關連性來結合多數據表之檢索。

SQL Join是結合多個數據表而組成一抽象的暫時性數據表以供數據查詢,在原各數據表中之紀錄及結構皆不會因此連接查詢而改變。

這是一個客戶數據表「customers」:

C_Id

Name

City

Address

Phone

1

張一

臺北市

XX路100號

02-12345678

2

王二

新竹縣

YY路200號

03-12345678

3

李三

高雄縣

ZZ路300號

07-12345678

而這是產品訂單的數據表「orders」:

O_Id

OrderNo

C_Id

1

2572

3

2

7375

3

3

7520

1

4

1054

1

5

1257

5

其中,C_Id 是客戶數據表中的主鍵 (Primary Key) 字段,我們怎么將這兩張不同的數據表依相關字段來作個連接結合以便查詢呢?這就是接下來的主題 Join!

SQL 的 Join 查詢有哪幾種類型?

  • Inner Join : 內部連接

  • LEFT (OUTER) JOIN : 左外部連接

  • RIGHT (OUTER) JOIN : 右外部連接

  • FULL (OUTER) JOIN : 全部外部連接

  • CROSS JOIN : 交叉連接

  • NATURAL JOIN : 自然連接

INNER JOIN - 內部連接

INNER JOIN (內部連接) 為等值連接,必需指定等值連接的條件,而查詢結果只會返回符合連接條件的數據。

INNER JOIN 語法 (SQL INNER JOIN Syntax)

SELECT table_column1, table_column2···
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name;

SELECT table_column1, table_column2···
FROM table_name1
INNER JOIN table_name2
USING (column_name);

INNER JOIN 查詢實例 (Example)

現在我們想列出所有客戶的訂單編號數據,我們可以作一個 INNER JOIN 查詢:

SELECT customers.Name, orders.Order_No
FROM customers
INNER JOIN orders
ON customers.C_Id=orders.C_Id;

其中用點號連接之「XXX.YYY」表示XXX數據表中的YYY字段。

查詢結果如下:

Name

Order_No

李三

2572

李三

7375

張一

7520

張一

1054

查詢結果只會返回符合連接條件的數據!

LEFT JOIN - 左外部連接

LEFT JOIN 可以用來建立左外部連接,查詢的 SQL 敘述句 LEFT JOIN 左側數據表 (table_name1) 的所有記錄都會加入到查詢結果中,即使右側數據表 (table_name2) 中的連接字段沒有符合的值也一樣。

LEFT JOIN 語法 (SQL LEFT JOIN Syntax)

SELECT table_column1, table_column2···
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name;

有些數據庫的語法會是LEFT OUTER JOIN。

LEFT JOIN 查詢實例 (Example)

現在我們想查詢所有客戶與其訂單狀況的數據,我們可以作一個 LEFT JOIN 查詢:

SELECT customers.Name, orders.Order_No
FROM customers
LEFT JOIN orders
ON customers.C_Id=orders.C_Id;

查詢結果如下:

Name

Order_No

張一

7520

張一

1054

王二

 

李三

2572

李三

7375

LEFT JOIN會返回左側數據表中所有數據列,就算沒有符合連接條件,而右側數據表中如果沒有匹配的數據值就會顯示為「NULL」。

RIGHT JOIN - 右外部連接

相對于LEFT JOIN,RIGHT JOIN 可以用來建立右外部連接,查詢的 SQL 敘述句 RIGHT JOIN 右側數據表 (table_name2) 的所有記錄都會加入到查詢結果中,即使左側數據表 (table_name2) 中的連接字段沒有符合的值也一樣。

RIGHT JOIN 語法 (SQL RIGHT JOIN Syntax)

SELECT table_column1, table_column2···
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name;

有些數據庫的語法會是RIGHT OUTER JOIN。

RIGHT JOIN 查詢實例 (Example)

現在我們想查詢所有訂單與相應的客戶之資料,我們可以作一個 RIGHT JOIN 查詢:

SELECT customers.Name, orders.Order_No
FROM customers
RIGHT JOIN orders
ON customers.C_Id=orders.C_Id;

查詢結果如下:

Name

Order_No

李三

2572

李三

7375

張一

7520

張一

1054

 

1257

RIGHT JOIN會返回右側數據表中所有數據列,就算是沒有符合連接條件,而左側數據表中如果沒有匹配的數據值就會顯示為「NULL」。

FULL JOIN - 全部外部連接

FULL JOIN 即為 LEFT JOIN 與 RIGHT JOIN 的聯集,它會返回左右數據表中所有的紀錄,不論是否符合連接條件。

FULL JOIN 語法 (SQL FULL JOIN Syntax)

SELECT table_column1, table_column2···
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name;

FULL JOIN 查詢實例 (Example)

我們來作一個 FULL JOIN 查詢:

SELECT customers.Name, orders.Order_No
FROM customers
FULL JOIN orders
ON customers.C_Id=orders.C_Id;

查詢結果如下:

Name

Order_No

李三

2572

李三

7375

張一

7520

張一

1054

 

1257

王二

 

MySQL數據庫中沒有FULL JOIN,但是您可以用UNION來模擬。

CROSS JOIN - 交叉連接

交叉連接為兩個數據表間的笛卡兒乘積 (Cartesian product),兩個數據表在結合時,不指定任何條件,即將兩個數據表中所有的可能排列組合出來,以下例而言 CROSS JOIN 出來的結果資料列數為 3×5=15 筆,因此,當有WHERE、ON、USING條件時不建議使用。

CROSS JOIN 語法 (SQL CROSS JOIN Syntax)

SELECT table_column1, table_column2···
FROM table_name1
CROSS JOIN table_name2;

SELECT table_column1, table_column2···
FROM table_name1, table_name2;

SELECT table_column1, table_column2···
FROM table_name1
JOIN table_name2;

FULL JOIN 查詢實例 (Example)

這是一個客戶數據表「customers」:

C_Id

Name

City

Address

Phone

1

張一

臺北市

XX路100號

02-12345678

2

王二

新竹縣

YY路200號

03-12345678

3

李三

高雄縣

ZZ路300號

07-12345678

而這是產品訂單的數據表「orders」:

O_Id

Order_No

C_Id

1

2572

3

2

7375

3

3

7520

1

4

1054

1

5

1257

5

我們來作一個 CROSS JOIN 查詢:

SELECT customers.Name, orders.Order_No
FROM customers
CROSS JOIN orders;

查詢結果如下:

Name

Order_No

張一

2572

王二

2572

李三

2572

張一

7375

王二

7375

李三

7375

張一

7520

王二

7520

李三

7520

張一

1054

王二

1054

李三

1054

張一

1257

王二

1257

李三

1257

NATURAL JOIN - 自然連接

自然連接有 NATURAL JOIN、NATURAL LEFT JOIN、NATURAL RIGHT JOIN,兩個表格在進行 JOIN 時,加上 NATURAL 這個關鍵詞之后,兩數據表之間同名的字段會被自動結合在一起。

NATURAL JOIN 語法 (SQL NATURAL JOIN Syntax)

SELECT table_column1, table_column2···
FROM table_name1
NATURAL JOIN table_name2;

NATURAL JOIN 查詢實例 (Example)

這是一個客戶數據表「customers」:

C_Id

Name

City

Address

Phone

1

張一

臺北市

XX路100號

02-12345678

2

王二

新竹縣

YY路200號

03-12345678

3

李三

高雄縣

ZZ路300號

07-12345678

而這是產品訂單的數據表「orders」:

O_Id

Order_No

C_Id

1

2572

3

2

7375

3

3

7520

1

4

1054

1

5

1257

5

現在我們想列出所有客戶的訂單編號數據,我們可以作一個 NATURAL JOIN 查詢:

SELECT customers.Name, orders.Order_No
FROM customers
NATURAL JOIN orders;

查詢結果如下:

Name

Order_No

李三

2572

李三

7375

張一

7520

張一

1054

注意到了嗎?返回結果同等于下面這個INNER JOIN查詢:

SELECT customers.Name, orders.Order_No
FROM customers
INNER JOIN orders
ON customers.C_Id=orders.C_Id;

到此這篇關于SQL連接查詢的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持。

標簽: MsSQL
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品一区二区三区中文字幕| 日韩精品一区二区三区免费观影| 国产精品二区不卡| 久久精品网址| 国产自产自拍视频在线观看| 日本久久综合| 激情自拍一区| 一区二区三区四区精品视频| 99pao成人国产永久免费视频| 好看不卡的中文字幕| 亚洲一区二区小说| 日韩精品久久久久久| 国产精品久久久久9999高清| 国产福利资源一区| www.九色在线| 亚洲综合国产| 国产人成精品一区二区三| 风间由美中文字幕在线看视频国产欧美 | 久久国产精品毛片| 日本一区中文字幕| 精品一区二区三区视频在线播放| 麻豆视频久久| 午夜精品久久久久久久久久蜜桃| 日韩一区二区免费看| 国产日本精品| 免费精品国产的网站免费观看| 日本在线成人| 999久久久91| 国产探花一区| 中文一区二区| 国产一二在线播放| 亚洲精品日韩久久| 日韩网站中文字幕| 久久国产婷婷国产香蕉| 亚洲精品一区二区在线看| 国产精品欧美三级在线观看 | 一区二区亚洲精品| 欧美aⅴ一区二区三区视频| 夜久久久久久| 国产亚洲一区二区手机在线观看| 日韩 欧美一区二区三区| 欧美成人基地| 久久久国产精品网站| 亚洲精品日韩久久| 国产亚洲综合精品| 日本精品影院| 午夜av不卡| 国产+成+人+亚洲欧洲在线| 欧美日本久久| 免费欧美日韩| 香蕉精品视频在线观看| 黄色aa久久| 你懂的国产精品永久在线| 日本视频一区二区| 免费成人在线影院| 欧美精品一线| 国产亚洲毛片| 亚洲一区免费| 蜜桃视频一区二区| 蜜臀精品久久久久久蜜臀| 黄色成人91| 亚洲欧美日韩一区在线观看| 美女少妇全过程你懂的久久| 999精品在线| 日韩黄色大片| 日韩在线观看一区| 91精品亚洲| 99香蕉国产精品偷在线观看| 99香蕉国产精品偷在线观看| 亚洲一区二区三区高清| 亚洲区国产区| 国产情侣一区| 国产精品国产一区| 偷拍精品精品一区二区三区| 91高清一区| 一二三区精品| 精品一区电影| 激情欧美国产欧美| 免费人成网站在线观看欧美高清| 免播放器亚洲| 日韩国产精品久久久| 麻豆免费精品视频| 免费欧美一区| 欧美一区激情| 久久久久网站| 色婷婷成人网| 日韩在线观看一区| 亚洲丝袜啪啪| 精品国产a一区二区三区v免费| 99久久久国产精品美女| 亚洲免费专区| 国产欧洲在线| 日韩欧美中文字幕一区二区三区| 欧美国产日韩电影| 99免费精品| 日韩成人在线看| 九九久久婷婷| 久久久91麻豆精品国产一区| 亚洲综合另类| 麻豆理论在线观看| 国产精品综合色区在线观看| 午夜国产欧美理论在线播放| 久久中文精品| 日本91福利区| 夜久久久久久| 久久精品国产99久久| 久久av电影| 日韩精品福利一区二区三区| 精品一区亚洲| 精品久久电影| 国产欧美亚洲精品a| 男女性色大片免费观看一区二区 | 日韩国产欧美三级| 欧美精品一卡| 日韩不卡视频在线观看| 精品99在线| 久久久精品区| 久久福利在线| 日韩精品视频在线看| 亚洲一区黄色| 快she精品国产999| 日韩视频在线一区二区三区 | 久久超碰99| 国产亚洲精品美女久久久久久久久久| 亚洲丝袜美腿一区| 日韩中文字幕一区二区高清99| 久久中文字幕av一区二区不卡| 久久久久九九精品影院| 麻豆视频一区| 成人在线视频中文字幕| 久久久久久久欧美精品| 亚洲一区不卡| 日本欧洲一区二区| 亚洲久草在线| 国产欧美一区二区三区米奇| 国产精品xvideos88| 国产精品乱战久久久| 久久国产精品美女| 精品三级久久久| 日韩成人a**站| 麻豆久久久久久| 国内精品伊人| 日韩毛片在线| 好看不卡的中文字幕| 免费视频最近日韩| 青青草精品视频| 久久99国产精品视频| 日韩在线综合| 免费看黄色91| 麻豆免费精品视频| 国产v日韩v欧美v| 亚洲欧美日本视频在线观看| 日韩专区视频网站| 国产精品115| 尤物tv在线精品| 99xxxx成人网| 国产乱码精品一区二区三区亚洲人 | 国产精品一区二区中文字幕| 精品淫伦v久久水蜜桃| 色爱综合av| 亚洲精品自拍| 国产传媒av在线| 亚洲精品韩国| 免费污视频在线一区| 日精品一区二区三区| а√在线中文在线新版| 欧美日韩国产在线一区| 国产精品一区二区三区av麻| 日韩欧美午夜| 日本免费新一区视频| 日韩精品一区二区三区免费观看| 自拍自偷一区二区三区| 欧美激情另类| 欧美日韩一区二区国产| 欧美日韩国产亚洲一区| 成人精品视频| 国产免费av一区二区三区| 丝袜国产日韩另类美女| 日韩成人高清| 日韩二区三区在线观看| 欧美专区在线| 在线手机中文字幕| 日韩av一区二区三区| 99久久亚洲精品蜜臀| 精品视频高潮| 美女久久久久久| 欧美伊人久久| 亚洲精品免费观看| 久久成人国产| 国产视频一区三区| 好吊日精品视频| 在线 亚洲欧美在线综合一区| 九色porny丨国产首页在线| 国产96在线亚洲| 97精品在线| 97在线精品| 欧美成人aaa| 欧美欧美黄在线二区| 日本电影久久久| 亚洲毛片视频|