Shirou_Tokisada

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

由于有的时候数据太长或者数据结构的问题,我们需要在多种表中进行储存信息。这个时候我们在查询的时候就会在多张表中进行查询。有些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  昏睡升天的注射器  阅读(188)  评论(0编辑  收藏  举报