连接查询和子查询(部分)

连接查询:连接查询是关系型数据库的主要特点,是区别其他类型的数据库的一个标志!

 连接查询又分为:内连接 外连接

 平时我们的查询一般是:

select s.name,m.mark from student s,mark m where s.id=m.studentid

上面是一般的待条件查询意思是将两个表中id号码相等的名字和分数打印出来  因为分


数和名字存在于两个表中  备注   student s 这个表示将student简称为s;

 
但是当我们使用连接查询就是:

select s.name,m.mark from student s inner join mark m on s.id=m.studentid

select s.name,m.mark from  前面这个就不用我多说了吧!
student s inner join mark m  这个表示把两个表相关连
on s.id=m.studentid    这个是条件

上面的这个是内连接

下面介绍外连接  : 左连接 和 右连接
做连接:
select s.name,m.mark from student s left join mark m on s.id=m.studentid
这里唯一变化的是inner变为left 他的意思是左边的表格中的s.name
全部打印出来  但是右边对应的有分数的话就对应的打出来,如果右边的没有分数就用null来表示!
一次类推右链接  和全连接(full 表示两边的表都打印出来)

子查询:
1,单行子查询
select name from student where id=1002;
这句语句就不用我解释了,不用怀疑这就是简单的单行子查询
select name from student where id=1002 and mark>80;
这一句只是多加了一个条件,没啥区别
select name,mark from mark>(select mark from student where name='张三'and sex='女');

2,多行查询

多行子查询不建议 开发中一般使用连接查询,建议读者将连接查询弄熟悉!


posted @ 2022-04-03 23:09  飞航之梦  阅读(52)  评论(0)    收藏  举报