mysql的sql连表查询区别:内连接、左连接、右连接、直接连表

mysql的sql连表查询区别:内连接、左连接、右连接、直接连表

建表

// 学生表
CREATE TABLE `student` (
  `ID` bigint(20) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(255) DEFAULT NULL,
  `TYPE` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
// 课程表
CREATE TABLE `course` (
  `ID` bigint(20) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;

数据如下
在这里插入图片描述
在这里插入图片描述
使用的sql如下:

// 左连接
SELECT * FROM student LEFT JOIN course ON student.COURSE_NO = course.ID;
// 右连接
SELECT * FROM student RIGHT JOIN course ON student.COURSE_NO = course.ID;
// 内连接
SELECT * FROM student INNER JOIN course ON student.COURSE_NO = course.ID;
// 直接链表
SELECT * FROM student, course WHERE student.COURSE_NO = course.ID;

左连接

在这里插入图片描述

右连接

在这里插入图片描述

内连接

在这里插入图片描述

直接连表

在这里插入图片描述

总结

直接连接表查询其实就是内连接,左连接就是以左表为基础进行扩展(左表不损失,连不上右表的为空),右连接类似。


版权声明:本文为sndayYU原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。