国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Mysql的七種join

2019-11-09 18:28:21
字體:
來源:轉載
供稿:網(wǎng)友

對于SQL的Join,在學習起來可能是比較亂的。我們知道,SQL的Join語法有很多inner的,有outer的,有l(wèi)eft的,有時候,對于Select出來的結果集是什么樣子有點不是很清楚。Coding Horror上有一篇文章(實在不清楚為什么Coding Horror也被墻)通過 文氏圖 Venn diagrams解釋了SQL的Join。

建表

在這里呢我們先來建立兩張有外鍵關聯(lián)的張表。

CREATE DATABASE db0206;USE db0206;CREATE TABLE `db0206`.`tbl_dept`( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30), `locAdd` VARCHAR(40), PRIMARY KEY (`id`)) ENGINE=INNODB CHARSET=utf8;CREATE TABLE `db0206`.`tbl_emp`( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20), `deptId` INT(11), PRIMARY KEY (`id`), FOREIGN KEY (`deptId`) REFERENCES `db0206`.`tb_dept`(`id`)) ENGINE=INNODB CHARSET=utf8;/*插入數(shù)據(jù)*/INSERT INTO tbl_dept(deptName,locAdd) VALUES('RD',11);INSERT INTO tbl_dept(deptName,locAdd) VALUES('HR',12);INSERT INTO tbl_dept(deptName,locAdd) VALUES('MK',13);INSERT INTO tbl_dept(deptName,locAdd) VALUES('MIS',14);INSERT INTO tbl_dept(deptName,locAdd) VALUES('FD',15);INSERT INTO tbl_emp(NAME,deptId) VALUES('z3',1);INSERT INTO tbl_emp(NAME,deptId) VALUES('z4',1);INSERT INTO tbl_emp(NAME,deptId) VALUES('z5',1);INSERT INTO tbl_emp(NAME,deptId) VALUES('w5',2);INSERT INTO tbl_emp(NAME,deptId) VALUES('w6',2);INSERT INTO tbl_emp(NAME,deptId) VALUES('s7',3);INSERT INTO tbl_emp(NAME,deptId) VALUES('s8',4);

文氏圖與SQL語句的編寫以及查詢結果

內連接

內連接文氏圖

表的內連接

執(zhí)行的sql語句以及執(zhí)行的查詢結果

執(zhí)行的sql語句select * from tbl_dept a inner join tbl_emp b on a.id=b.deptId;查詢結果 這里寫圖片描述

左外連接

左外連接文氏圖

左連接

執(zhí)行的sql語句以及執(zhí)行的查詢結果

執(zhí)行的sql語句select * from tbl_dept a left join tbl_emp b on a.id=b.deptId;查詢結果 左外連接

右外連接

右外連接文氏圖

這里寫圖片描述

執(zhí)行的sql語句以及執(zhí)行的查詢結果

執(zhí)行的sql語句select * from tbl_dept a right join tbl_emp b on a.id=b.deptId;查詢結果 這里寫圖片描述

左連接

左連接文氏圖

這里寫圖片描述

執(zhí)行的sql語句以及執(zhí)行的查詢結果

執(zhí)行的sql語句elect * from tbl_dept a left join tbl_emp b on a.id=b.deptId where b.deptId is null;查詢結果

這里寫圖片描述

右連接

右連接文氏圖

右連接

執(zhí)行的sql語句以及執(zhí)行的查詢結果

執(zhí)行的sql語句select * from tbl_dept a right join tbl_emp b on a.id=b.deptId where a.id is null;查詢結果

右連接

全連接

全連接文氏圖

這里寫圖片描述

執(zhí)行的sql語句以及執(zhí)行的查詢結果

執(zhí)行的sql語句select * from tbl_dept a right join tbl_emp b on a.id=b.deptId union select * from tbl_dept a left join tbl_emp b on a.id=b.deptId;查詢結果 全連接

兩張表中都沒有出現(xiàn)的數(shù)據(jù)集

文氏圖

執(zhí)行的sql語句以及執(zhí)行的查詢結果

執(zhí)行的sql語句select * from tbl_dept a right join tbl_emp b on a.id=b.deptId where a.id is null union select * from tbl_dept a left join tbl_emp b on a.id=b.deptId where b.deptId is null;查詢結果

這里寫圖片描述


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 德保县| 宁晋县| 化州市| 财经| 承德县| 莒南县| 富宁县| 衡水市| 林口县| 通化市| 滁州市| 和龙市| 龙游县| 鹿泉市| 姚安县| 蒲江县| 潍坊市| 财经| 瑞昌市| 灵寿县| 东兴市| 木兰县| 防城港市| 天长市| 南召县| 边坝县| 泾阳县| 泗阳县| 枣强县| 沙雅县| 邢台县| 龙胜| 阿克| 黄大仙区| 宁晋县| 巴青县| 阳城县| 麻江县| 正镶白旗| 海晏县| 响水县|