欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql連接查詢中and與where的區(qū)別淺析

 更新時間:2021年07月01日 16:11:41   作者:侶行G_X_N  
在使用數(shù)據(jù)庫查詢語句時,單表的查詢有時候不能滿足項目的業(yè)務(wù)需求,在項目開發(fā)過程中,有很多需求都是要涉及到多表的連接查詢,這篇文章主要給大家介紹了關(guān)于mysql連接查詢中and與where區(qū)別的相關(guān)資料,需要的朋友可以參考下

1. 建表

CREATE TABLE `student`  (
  `id` int(11) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `age` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


INSERT INTO `student` VALUES (1, '張三', 12);
INSERT INTO `student` VALUES (2, '李四', 12);
INSERT INTO `student` VALUES (3, '王五', 12);
INSERT INTO `student` VALUES (4, '趙六', 12);
INSERT INTO `student` VALUES (5, '孫七', 12);
INSERT INTO `student` VALUES (6, '王八', 12);
CREATE TABLE `grade`  (
  `id` int(11) NOT NULL,
  `sid` int(11) NULL DEFAULT NULL,
  `grade` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `grade` VALUES (1, 1, 100);
INSERT INTO `grade` VALUES (2, 2, 80);
INSERT INTO `grade` VALUES (3, 3, 99);
INSERT INTO `grade` VALUES (4, 4, 66);

2. inner join-內(nèi)連接

內(nèi)連接中and和where沒有區(qū)別,都是取連接后的結(jié)果進(jìn)行條件篩選。

2.1 不加條件

2.2 and 條件

2.3 where 條件

3. left join - 左外連接

3.1 不加條件

3.2 and 條件

left join中以左表全匹配進(jìn)行連接,之后使用and進(jìn)行篩選;不符合條件的左表數(shù)據(jù)保留,右表數(shù)據(jù)為null。

3.3 where 條件

在left join 中以左表全匹配進(jìn)行連接,之后以where進(jìn)行篩選;只篩選符合條件的數(shù)據(jù)。

4. right join

同3中l(wèi)eft join,只是基表相反。

5. 總結(jié)

  • 所有連接,使用where是對連接后符合條件的數(shù)據(jù)行進(jìn)行再次的條件篩選,只保留符合條件的數(shù)據(jù)行;
  • left join連接時,使用and以左表為主,左表數(shù)據(jù)全部保留,不符合條件的數(shù)據(jù)行右表數(shù)據(jù)為null;
  • right join連接時,使用and以右表為主,右表數(shù)據(jù)全部保留,不符合條件的數(shù)據(jù)行左表數(shù)據(jù)為null;

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

相關(guān)文章

  • MySQL中時間函數(shù)操作大全

    MySQL中時間函數(shù)操作大全

    在使用SQL語言進(jìn)行數(shù)據(jù)查詢和數(shù)據(jù)分析中,常常需要借助日期時間函數(shù)來計算相關(guān)的指標(biāo)或生成日期輔助列,下面這篇文章主要給大家介紹了關(guān)于MySQL中時間函數(shù)操作的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • mysql sql99語法 內(nèi)連接非等值連接詳解

    mysql sql99語法 內(nèi)連接非等值連接詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于mysql sql99語法 內(nèi)連接非等值連接的相關(guān)知識點文章,有需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • MySQL主從同步延遲原因與解決方案

    MySQL主從同步延遲原因與解決方案

    本文主要介紹了MySQL主從同步延遲原因與解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • MySQL多表之間字段的匹配實現(xiàn)代碼

    MySQL多表之間字段的匹配實現(xiàn)代碼

    本文主要介紹下MySQL多表之間字段的匹配;如tag表中name匹配info中的name,接下來詳細(xì)介紹下,感興趣的你可以參考下哈
    2013-03-03
  • 詳解Mysql導(dǎo)出數(shù)據(jù)的幾種方式

    詳解Mysql導(dǎo)出數(shù)據(jù)的幾種方式

    MySQL導(dǎo)出數(shù)據(jù)的目的有很多種,如數(shù)據(jù)庫備份、表結(jié)構(gòu)導(dǎo)出、表數(shù)據(jù)導(dǎo)出、分析數(shù)據(jù)采取等,本文詳細(xì)的介紹了兩種Mysql導(dǎo)出數(shù)據(jù)的方法,感興趣的小伙伴可以了解一下
    2018-10-10
  • MySql數(shù)據(jù)分區(qū)操作之新增分區(qū)操作

    MySql數(shù)據(jù)分區(qū)操作之新增分區(qū)操作

    這篇文章主要介紹了MySql數(shù)據(jù)分區(qū)操作之新增分區(qū)操作,本文講解了測試創(chuàng)建分區(qū)表文件、插入測試數(shù)據(jù)、查詢P2中的數(shù)據(jù)等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • mysql字段為null為何不能使用!=

    mysql字段為null為何不能使用!=

    這篇文章主要介紹了mysql字段為null為何不能使用!=問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • MySQL與sqlyog安裝教程圖文詳解

    MySQL與sqlyog安裝教程圖文詳解

    這篇文章主要介紹了MySQL與sqlyog安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • mysql如何查詢重復(fù)數(shù)據(jù)并刪除

    mysql如何查詢重復(fù)數(shù)據(jù)并刪除

    這篇文章主要介紹了mysql如何查詢重復(fù)數(shù)據(jù)并刪除問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MySQL用命令行運行sql文件的詳細(xì)圖文教程

    MySQL用命令行運行sql文件的詳細(xì)圖文教程

    最近重新踩了一下mysql 這邊的坑,記錄一下自己忽略的地方,下面這篇文章主要給大家介紹了關(guān)于MySQL用命令行運行sql文件的詳細(xì)圖文教程,文中通過實例代碼的非常詳細(xì),需要的朋友可以參考下
    2023-01-01

最新評論