最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql join連接查詢的語法與示例

 更新時間:2020年10月10日 09:03:39   作者:卡爾特斯  
這篇文章主要給大家介紹了關(guān)于Mysql join連接查詢的相關(guān)資料,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

連接查詢:

是將兩個查詢(或表)的每一行,以“兩兩橫同對接”的方式,所得到的所有行的結(jié)果,即一個表中的某行,跟另一個表中的某行。進行“橫向?qū)印?,得到一個新行。

連接查詢包括以下這些不同形式,連接方式:

交叉連接、內(nèi)連接、外連接(分:左外連接,右外連接)

連接查詢語法:

select * from 表名 [連接方式] join 表名 [on 連接條件] where ...;

測試數(shù)據(jù):

mysql> select * from test;
+----+--------+------+------+
| id | name | sex | age |
+----+--------+------+------+
| 1 | name1 | 女 | 15 |
| 2 | name1 | 女 | 15 |
| 4 | name2 | 男 | 30 |
| 5 | name50 | 男 | 12 |
+----+--------+------+------+

mysql> select * from user;
+----+-------+------+
| id | name | age |
+----+-------+------+
| 1 | name1 | 18 |
| 2 | name2 | 15 |
| 3 | name3 | 20 |
| 4 | name4 | 30 |
+----+-------+------+

交叉連接 (cross join)

1、交叉連接其實可以認(rèn)為是連接查詢的“完全版本”, 即所有行都無條件地都連接起來。

2、關(guān)鍵字 “cross” 可以省略;

3、交叉連接又稱為“笛卡爾積”,通常應(yīng)用價值不大

語法形式:

select * from 表名, 表名;
select * from 表名 join 表名;
select * from 表名 cross join 表名;

規(guī)范的交叉連接寫法

mysql> select * from test cross join user;
+----+--------+------+------+----+-------+------+
| id | name | sex | age | id | name | age |
+----+--------+------+------+----+-------+------+
| 1 | name1 | 女 | 15 | 1 | name1 | 18 |
| 2 | name1 | 女 | 15 | 1 | name1 | 18 |
| 4 | name2 | 男 | 30 | 1 | name1 | 18 |
| 5 | name50 | 男 | 12 | 1 | name1 | 18 |
| 1 | name1 | 女 | 15 | 2 | name2 | 15 |
| 2 | name1 | 女 | 15 | 2 | name2 | 15 |
| 4 | name2 | 男 | 30 | 2 | name2 | 15 |
| 5 | name50 | 男 | 12 | 2 | name2 | 15 |
| 1 | name1 | 女 | 15 | 3 | name3 | 20 |
| 2 | name1 | 女 | 15 | 3 | name3 | 20 |
| 4 | name2 | 男 | 30 | 3 | name3 | 20 |
| 5 | name50 | 男 | 12 | 3 | name3 | 20 |
| 1 | name1 | 女 | 15 | 4 | name4 | 30 |
| 2 | name1 | 女 | 15 | 4 | name4 | 30 |
| 4 | name2 | 男 | 30 | 4 | name4 | 30 |
| 5 | name50 | 男 | 12 | 4 | name4 | 30 |
+----+--------+------+------+----+-------+------+

直接使用 join 進行連接,相當(dāng)于 cross join,默認(rèn)就是 交叉連接

mysql> select * from test join user;

查詢結(jié)果跟上面一致!!!

還可以直接 from 表,表... 也相當(dāng)于是交叉連接

mysql> select * from test, user;

查詢結(jié)果跟上面一致!!!

內(nèi)連接 (inner join)

1、內(nèi)連接其實是交叉連接的基礎(chǔ)上,再通過 on 條件而篩選出來的部分?jǐn)?shù)據(jù)。

2、關(guān)鍵字 "inner" 可以省略,但建議寫上,真正有意義的是 on 連接條件。

3、內(nèi)連接是應(yīng)用最廣泛的一種連接查詢,其本質(zhì)是根據(jù)條件篩選出“有意義的數(shù)據(jù)”。

語法形式:

select * from 表名 join 表名 on 連接條件;
select * from 表名 inner join 表名 on 連接條件;

查出兩個表中 name 字段相等的數(shù)據(jù)

mysql> select * from test inner join user on test.name=user.name;
+----+-------+------+------+----+-------+------+
| id | name | sex | age | id | name | age |
+----+-------+------+------+----+-------+------+
| 1 | name1 | 女 | 15 | 1 | name1 | 18 |
| 2 | name1 | 女 | 15 | 1 | name1 | 18 |
| 4 | name2 | 男 | 30 | 2 | name2 | 15 |
+----+-------+------+------+----+-------+------+

查出兩個表中 name 字段相等的數(shù)據(jù),通過 as 給表取個別名進行使用

mysql> select * from test as t inner join user as u on t.name=u.name;

查詢結(jié)果跟上面一致!!!

查出兩個表中 name 字段相等,test 表中 age>15,user 表中 age>10 的數(shù)據(jù)

如果使用表中有重復(fù)的字段,那么就需要通過 [表名.字段名] 來使用,例如 age :

mysql> select * from test inner join user on test.name=user.name where test.age>15 and user.age>10;
+----+-------+------+------+----+-------+------+
| id | name | sex | age | id | name | age |
+----+-------+------+------+----+-------+------+
| 4 | name2 | 男 | 30 | 2 | name2 | 15 |
+----+-------+------+------+----+-------+------+

查出兩個表中 name 字段相等,且 sex='男' 的數(shù)據(jù)。

如果使用表中沒有重復(fù)的字段,那么可以通過 [表名.字段名] 或者直接使用 [字段名] 使用,例如 sex :

mysql> select * from test as t inner join user as u on t.name=u.name where t.sex='男';
mysql> select * from test as t inner join user as u on t.name=u.name where sex='男';
+----+-------+------+------+----+-------+------+
| id | name | sex | age | id | name | age |
+----+-------+------+------+----+-------+------+
| 4 | name2 | 男 | 30 | 2 | name2 | 15 |
+----+-------+------+------+----+-------+------+

外連接 - 左外連接 (left join)

1、左外連接其實是保證左邊表的數(shù)據(jù)都能夠取出的一種連接 。

2、左外連接其實是在內(nèi)連接的基礎(chǔ)上,再加上左邊表中所有不能滿足條件的數(shù)據(jù)

3、關(guān)鍵字 “outer" 可以省略。

語法形式:

select * from 表名 left [outer] join on 連接條件 where ...;

以左邊的表為基準(zhǔn),保證左邊表的數(shù)據(jù)全部顯示,匹配不到的數(shù)據(jù)為 NULL

mysql> select * from test left join user on test.name=user.name;
+----+--------+------+------+------+-------+------+
| id | name | sex | age | id | name | age |
+----+--------+------+------+------+-------+------+
| 1 | name1 | 女 | 15 | 1 | name1 | 18 |
| 2 | name1 | 女 | 15 | 1 | name1 | 18 |
| 4 | name2 | 男 | 30 | 2 | name2 | 15 |
| 5 | name50 | 男 | 12 | NULL | NULL | NULL |
+----+--------+------+------+------+-------+------+

外連接 - 右外連接 (right join)

1、右外連接其實是保證右邊表的數(shù)據(jù)都能夠取出的一種連接 。

2、右外連接其實是在內(nèi)連接的基礎(chǔ)上,再加上右邊表中所有不能滿足條件的數(shù)據(jù)

3、關(guān)鍵字 “outer" 可以省略。

語法形式:

select * from 表名 right [outer] join on 連接條件 where ...;

以右邊的表為基準(zhǔn),保證右邊表的數(shù)據(jù)全部顯示,匹配不到的數(shù)據(jù)為 NULL

mysql> select * from test right join user on test.name=user.name;
+------+-------+------+------+----+-------+------+
| id | name | sex | age | id | name | age |
+------+-------+------+------+----+-------+------+
| 1 | name1 | 女 | 15 | 1 | name1 | 18 |
| 2 | name1 | 女 | 15 | 1 | name1 | 18 |
| 4 | name2 | 男 | 30 | 2 | name2 | 15 |
| NULL | NULL | NULL | NULL | 3 | name3 | 20 |
| NULL | NULL | NULL | NULL | 4 | name4 | 30 |
+------+-------+------+------+----+-------+------+

總結(jié)

到此這篇關(guān)于Mysql join連接查詢的語法與示例的文章就介紹到這了,更多相關(guān)Mysql join連接查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL連接及基本信息查看命令匯總

    MySQL連接及基本信息查看命令匯總

    這篇文章主要針對MySQL連接及基本信息查看命令進行了詳細(xì)匯總,感興趣的小伙伴們可以參考一下
    2016-02-02
  • mysql5.7中的密碼忘記如何找回

    mysql5.7中的密碼忘記如何找回

    這篇文章主要介紹了mysql5.7中的密碼忘記如何找回問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • MYSQL中的json數(shù)據(jù)操作代碼

    MYSQL中的json數(shù)據(jù)操作代碼

    這篇文章主要介紹了MYSQL中的json數(shù)據(jù)操作,主要包括基礎(chǔ)查詢操作,JSON函數(shù)操作,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 查找MySQL線程中死鎖的ID的方法

    查找MySQL線程中死鎖的ID的方法

    這篇文章主要介紹了查找MySQL線程中死鎖的ID的方法,文中介紹的方法主要是從數(shù)據(jù)字典里查找,需要的朋友可以參考下
    2015-05-05
  • SQLServer 2005 自動備份數(shù)據(jù)庫的方法分享(附圖解教程)

    SQLServer 2005 自動備份數(shù)據(jù)庫的方法分享(附圖解教程)

    SQLServer 2005 自動備份數(shù)據(jù)庫的方法分享(附圖解教程),使用sqlserver2005的朋友可以參考下。
    2011-09-09
  • MySQL通過binlog恢復(fù)數(shù)據(jù)

    MySQL通過binlog恢復(fù)數(shù)據(jù)

    通過了解binlog日志的相關(guān)配置,簡單掌握通過binlog對數(shù)據(jù)庫進行數(shù)據(jù)恢復(fù)操作。有此需求的朋友可以參考下
    2021-05-05
  • Windows下MySQL安裝教程圖文詳解

    Windows下MySQL安裝教程圖文詳解

    本文通過圖文并茂的形式給大家介紹了windows下mysql 安裝教程,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-10-10
  • centos7環(huán)境下二進制安裝包安裝 mysql5.6的方法詳解

    centos7環(huán)境下二進制安裝包安裝 mysql5.6的方法詳解

    這篇文章主要介紹了centos7環(huán)境下二進制安裝包安裝 mysql5.6的方法,詳細(xì)分析了centos7環(huán)境下使用二進制安裝包安裝 mysql5.6的具體步驟、相關(guān)命令、配置方法及操作注意事項,需要的朋友可以參考下
    2020-02-02
  • mysql where中如何判斷不為空的實現(xiàn)

    mysql where中如何判斷不為空的實現(xiàn)

    本文主要介紹了mysql where中如何判斷不為空的實現(xiàn),本文將針對這些空演示如何判斷是否為空,以及如何寫sql過濾,包括使用判空函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • Mysql數(shù)據(jù)庫之常用sql語句進階與總結(jié)

    Mysql數(shù)據(jù)庫之常用sql語句進階與總結(jié)

    這篇文章主要介紹了Mysql數(shù)據(jù)庫之常用sql語句,總結(jié)分析了MySQL數(shù)據(jù)庫常用的查詢、條件查詢、排序、連接查詢、子查詢等相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11

最新評論

井研县| 惠州市| 新郑市| 郁南县| 平阴县| 蓬溪县| 莱州市| 永登县| 阜南县| 玉树县| 平阳县| 泸水县| 普兰店市| 巩留县| 安达市| 松溪县| 宝鸡市| 温州市| 普安县| 新民市| 阿拉善盟| 永福县| 改则县| 新泰市| 洪江市| 常德市| 崇明县| 疏勒县| 宣汉县| 芒康县| 鹤庆县| 广丰县| 府谷县| 高密市| 高碑店市| 兴义市| 通河县| 葵青区| 波密县| 老河口市| 漳平市|