MySQL 子查询、内联结、外联结

子查询
MySQL 子查询版本要求:MySQL4.1引入了对子查询的支持。
子查询:嵌套在其他查询语句中的查询。

示例: 利用子查询进行过滤
假如需要查询出成绩表分数最高的学生的姓名及编号

select st.s_no,st.s_name from student st where st.s_no in (select s1.s_no  from score s1 where s1.sc_degree  in (select max(sc.sc_degree)from score sc));


从上述查询语句可以看出,
子查询总是从内向外处理。为了执行上述子查询,MySQL实际上必须执行3条select语句,最里面的两个子查询返回学生编号和最高成绩,最外层查询返回学生信息。
子查询的查询过程一般是通过where中的in操作符来完成,in后面子查询语句查询的列即为in之前的列名。
所以在中的子句中使用子查询,应该保证select语句具有中的子句中相同数目的列。通常,子查询将返回单个列并且与单个列匹配。
使用子查询,一般与IN操作符结合使用,但可以用于测试相等(=)、不相等(<>)等。

内连接,外连接实际上都是在笛卡尔积(join)的基础上对记录进行筛选。
内联结inner join
外键:外键为某个表中的一列,它包含另一个表中的主键值,定义了两个表之间的关系。
内联结语法为:
select    查询列表
from    表1
inner join 表2
on    连接条件

sql99

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值