数据库左连接右连接全联接左外右外全外

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库左连接右连接全联接左外右外全外相关的知识,希望对你有一定的参考价值。

技术图片

内联

技术图片
技术图片
SELECT
*
FROM
temployee employees0
INNER JOIN tcustomer customer1 ON ( customer1.id = employees0.id );

左联

技术图片
技术图片
SELECT
*
FROM
temployee employees0
LEFT OUTER JOIN tcustomer customer1 ON ( customer1.id = employees0.id );

右联

技术图片
技术图片
SELECT
*
FROM
temployee employees0
RIGHT OUTER JOIN tcustomer customer1 ON ( customer1.id = employees0.id );

全联(mysql不支持)

技术图片
SELECT * FROM t_employee te FULL JOIN t_customer tc ON (te.id = tc.id);

左外

技术图片
技术图片
SELECT
*
FROM
temployee employees0
LEFT OUTER JOIN tcustomer customer1 ON ( customer1.id = employees0.id )
WHERE
customer1_.id IS NULL;

右外

技术图片
技术图片
SELECT *
FROM
temployee employees0
RIGHT OUTER JOIN tcustomer customer1 ON ( customer1.id = employees0.id )
WHERE
employees0_.id IS NULL;

全外(MySql不支持)

技术图片
SELECT *
FROM
t_employee te
FULL JOIN t_customer tc ON ( te.id = tc.id )
WHERE
te.id IS NULL
OR tc.id IS NULL;

数据库

Employee
技术图片
Customer
技术图片

-- ----------------------------
-- Table structure for t_employee
-- ----------------------------
DROP TABLE IF EXISTS `t_employee`;
CREATE TABLE `t_employee` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `employee_name` varchar(255) DEFAULT NULL,
  `employee_part` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- ----------------------------
-- Records of t_employee
-- ----------------------------
INSERT INTO `t_employee` VALUES (1, ‘老潘‘, ‘总裁部‘);
INSERT INTO `t_employee` VALUES (2, ‘老王‘, ‘秘书部‘);
INSERT INTO `t_employee` VALUES (3, ‘老张‘, ‘设计部‘);
INSERT INTO `t_employee` VALUES (4, ‘老李‘, ‘运营部‘);

-- ----------------------------
-- Table structure for t_customer
-- ----------------------------
DROP TABLE IF EXISTS `t_customer`;
CREATE TABLE `t_customer` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `customer_name` varchar(255) DEFAULT NULL,
  `customer_part` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- ----------------------------
-- Records of t_customer
-- ----------------------------
INSERT INTO `t_customer` VALUES (2, ‘老王‘, ‘秘书部‘);
INSERT INTO `t_customer` VALUES (3, ‘老张‘, ‘设计部‘);
INSERT INTO `t_customer` VALUES (4, ‘老刘‘, ‘人事部‘);
INSERT INTO `t_customer` VALUES (5, ‘老黄‘, ‘生产部‘);

以上是关于数据库左连接右连接全联接左外右外全外的主要内容,如果未能解决你的问题,请参考以下文章

数据库的内连接外连接(左外连接右外连接全外连接)以及交叉连接(转)

深入理解SQL的四种连接-左外连接右外连接内连接全连接

SQL的四种连接-左外连接右外连接内连接全连接

SQL的四种连接-左外连接右外连接内连接全连接

SQL的四种连接-左外连接右外连接内连接全连接

SQL的四种连接-左外连接右外连接内连接全连接