【MYSQL】表的内外连接

文章目录

  • 内连接
  • 外连接
  • 左外连接
    • 查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息展示出来
  • 右外连接
    • 将所有成绩都查询出来
  • 列出部门名称和这些部门的员工信息,同时列出没有员工部门

内连接

之前学过的笛卡尔积本质就是内连接的一种。

//
select * from emp,dept where emp.deptno=dept.deptno;

//
select * from emp inner join dept on emp.deptno = dept.deptno;

外连接

左外连接

联合查询,左侧的表完全显示就是左外连接。

create table stu (id int,name varchar(30));

insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');

create table exam(id int,grade int);

insert into exam values(1,56),(2,76),(11,8);


查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息展示出来

select * from stu left join exam on stu.id = exam.id;

右外连接

将所有成绩都查询出来

select * from stu right join exam on stu.id = exam.id;

列出部门名称和这些部门的员工信息,同时列出没有员工部门

select * from dept left join emp on dept.deptno=emp.deptno order by dept.deptno asc;

你可能感兴趣的:(MySQL探索之旅,mysql,数据库)