表连接
表连接分为内连接和外连接,外连接又分为左连接和右连接
1.内连接查询仅显示出两张表中互相匹配的数据
select student.stuno,student.name,score.math from student,score where student.stuno=score.stuno;
2.左连接查询显示左边表数据及右表中没有的数据
select student.stuno,student.name,score.math from student left join score on student.stuno=score.stuno;

3.右连接查询显示右边表数据及左表中没有的数据
select student.stuno,student.name,score.math from student right join score on student.stuno=score.stuno;

子查询
子查询关键字包括 in、not in、= 、!=、exists、not exists等
select * from score where stuno in(select stuno from student);

如果记录数只有一条,可以用=代替in
select * from score where stuno=(select stuno from student limit 1);

记录联合
将两张表的查询结果并在一起显示,关键字union、union all
MariaDB [test1]> select * from student
-> union all
-> select * from score;

去掉重复结果
MariaDB [test1]> select stuno from student
-> union
-> select stuno from score;
博客介绍了SQL中的表连接、子查询和记录联合。表连接分内外连接,外连接又有左右之分;子查询关键字有in、not in等;记录联合用union、union all将两张表查询结果合并,还可去掉重复结果。
4077

被折叠的 条评论
为什么被折叠?



