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

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

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

 平时我们的查询一般是:

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,多行查询

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值