mysql多表查询

由于有的时候数据太长或者数据结构的问题,我们需要在多种表中进行储存信息。这个时候我们在查询的时候就会在多张表中进行查询。有些sql语句的写法就会变得特别的有趣,为了形象表示,我创建了3张表sys_sru sys_mid sys_class 分别储存学生信息,学生的考试成绩,科目信息。

然后开始了解一下两张表连接的方法,where和join on。比如 查询成绩为88的同学名字,这个问题涉及到两张表,如果用where 就是

select a.name from sys_stu a , sys_mid b where a.id =b.stuid  and score = 77;

 

使用 join on连接

select a.name from sys_stu a join sys_mid b on a.id =b.stuid  where  score = 77;

 

其中a.id = b.stuid 使用where连接两张表时加在where后面。使用join连接的时候加在on的后面

之后我们来接触一下子查询,子查询就是把sql查询出来的结果作为一个虚拟表进行第二次操作。或者把sql查询出来的结果作为下一个查询的条件的一部分,例如上一个查询成绩为88的同学姓名可以写为。

select name from sys_stu where id in (select stuid from sys_mid where score =77);

 

posted on 2017-11-10 18:55  昏睡升天的注射器 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Shirou20000/p/7816044.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值