激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL七大JOIN的具體使用

MySQL七大JOIN的具體使用

2022-02-28 23:22NeverOW Mysql

本文主要介紹了MySQL七大JOIN的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

 

簡介

MySQL七大JOIN的具體使用

  • A的獨有+AB的公有
  • B的獨有+AB的公有
  • AB的公有
  • A的獨有
  • B的獨有
  • A的獨有+B的獨有+AB的公有
  • A的獨有+B的獨有

 

練習

建表

部門表

DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (
	`dept_id` int(11) NOT NULL AUTO_INCREMENT,
    `dept_name` varchar(30) DEFAULT NULL,
    `dept_number` int(11) DEFAULT NULL,
    PRIMARY KEY (`dept_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

INSERT INTO `dept` VALUES ("1", "AA", "100");
INSERT INTO `dept` VALUES ("2", "BB", "200");
INSERT INTO `dept` VALUES ("3", "CC", "300");
INSERT INTO `dept` VALUES ("4", "DD", "400");
INSERT INTO `dept` VALUES ("5", "HH", "500");

員工表

DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp` (
    `emp_id` int(11) NOT NULL AUTO_INCREMENT,
    `emp_name` varchar(30) DEFAULT NULL,
    `emp_age` int(11) DEFAULT NULL,
    `dept_id` int(11) NOT NULL,
    PRIMARY KEY (`emp_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

INSERT INTO `emp` VALUES("1", "zhangsan", "20", "1");
INSERT INTO `emp` VALUES("2", "lisi", "25", "6");
INSERT INTO `emp` VALUES("3", "wangwu", "19", "4");
INSERT INTO `emp` VALUES("4", "zhaoliu", "29", "5");
INSERT INTO `emp` VALUES("5", "xiaohong", "30", "2");
INSERT INTO `emp` VALUES("6", "xiaohu", "26", "3");
INSERT INTO `emp` VALUES("7", "zhangle", "23", "3");
INSERT INTO `emp` VALUES("8", "qingtian", "38", "3");
INSERT INTO `emp` VALUES("9", "xiayutian", "36", "2");
INSERT INTO `emp` VALUES("10", "fangjia", "40", "1");
情景分析

1.左連接(left join)

A的獨有+AB的公有

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id;

MySQL七大JOIN的具體使用

2.右連接(right join)

B的獨有+AB的公有

SELECT * from emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id;

MySQL七大JOIN的具體使用

3.內連接(inner join)

AB的公有

SELECT * from emp e INNER JOIN dept d ON e.dept_id=d.dept_id;

MySQL七大JOIN的具體使用

4.左外連接(left join且右表=null)

A的獨有

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id WHERE d.dept_id is null;

MySQL七大JOIN的具體使用

5. 右外連接(right join且左表=null)

B的獨有

SELECT * from emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id WHERE e.dept_id is null;

MySQL七大JOIN的具體使用

6. 全連接(full outer join)

A的獨有+B的獨有+AB的公有

注意:MySQL不支持FULL OUTER JOIN(在ORACLE支持)。

因此使用UNION的方式來實現,可以**合并+去重**

應用場景:

要查詢的結果來自于多個表,且多個表沒有直接的連接關系,但查詢的信息一致時

特點:

1、要求多條查詢語句的查詢列數是一致的

2、要求多條查詢語句的查詢的每一列的類型和順序最好一致

3、union關鍵字**默認去重,如果使用union all 可以包含重復項**

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id UNION SELECT * FROM emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id;

MySQL七大JOIN的具體使用

7. 全外連接(full outer join且左右表=null)

A的獨有+B的獨有

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id WHERE d.dept_id is null UNION SELECT * FROM emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id WHERE e.dept_id is null;

MySQL七大JOIN的具體使用

 到此這篇關于MySQL七大JOIN的具體使用的文章就介紹到這了,更多相關MySQL JOIN使用內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文地址:https://blog.csdn.net/qq_50596778/article/details/123145434

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99在线精品视频免费观看20 | 精品午夜影院 | 国产在线精品一区二区 | 久久久久女人精品毛片九一 | 一区二区三区手机在线观看 | 日韩精品中文字幕在线观看 | 国产乱淫av片免费观看 | 国内精品伊人久久久久网站 | 免费在线观看成人网 | 欧美亚洲国产一区二区三区 | 欧美一区黄 | 日本欧美一区二区三区在线观看 | 午夜视频色 | 人人做人人看 | 国产亚洲精品视频中文字幕 | 国产一区二区三区手机在线 | 五月j香国内婷婷 | 亚洲aⅴ在线观看 | 久久国产精品免费视频 | 国产精品久久国产精麻豆96堂 | 免费看国产视频 | 精品国产99久久久久久宅男i | 午夜国内精品a一区二区桃色 | 九草在线 | 天天看成人免费毛片视频 | 视频二区国产 | 欧美淫视频 | 日韩毛片毛片久久精品 | 91久久久久久久一区二区 | 欧美性受xxxxxx黑人xyx性爽 | av7777777| av噜噜在线| 男男羞羞视频网站国产 | 日本中文视频 | 成人午夜在线免费观看 | 免费黄色a | 一级黄色在线免费观看 | 永久免费不卡在线观看黄网站 | 草莓视频在线导航 | 免费永久看羞羞片网站入口 | 嫩嫩的freehdxxx |