首页 > 数据库技术 > 详细

sql查询

时间:2019-07-20 16:53:43      阅读:105      评论:0      收藏:0      [点我收藏+]

连接查询(多表查询)

from 表1 [连接方式] join 表2 [on 连接条件];

交叉连接:

select * from  表1    join  表2

交叉查询查出的数据比较混乱 所以用的比较少。

内连接:

from  表1  [inner]  join  表2  on  表1.字段1=表2.字段2;

用的比较多  需要调用两个或者以上的表的时候

例如-- 查询所有学生的Sname、Cno和Degree列。
SELECT sname,cno,degree FROM student JOIN score ON student.sno=score.sno;

后面可以再添加查询条件 where  或者分组group by  也可以加模糊查询 like等都可以

左[外]连接:

from  表1  left  [outer]  join   表2   on  连接条件。

 右[外]连接:

from  表1  right  [outer]  join   表2   on  连接条件。

左外和右外 基本类似的  连接左边或者右边 数据 没有的补全null  用的也很少

全[外]连接

from  表1  full  [outer]  join  表2  on  连接条件;

全外就是 左右外链接结合

in子查询

in的基本语法形式为:

where  操作数  in (值1,值2, ....)

则in子查询就是:

where  操作数  in ( 列子查询 );

这个子查询 和内连接是实现一个功能的 只不过实现方式不一样 而且 这个只能时间一个标的数据

例如-- 查询李诚老师教的课程名称
SELECT cname FROM teacher,course WHERE course.`tno`=teacher.`tno` AND tname=‘李诚‘; ----内连接
SELECT cname FROM course WHERE tno=(SELECT tno FROM teacher WHERE tname=‘李诚‘)----子查询

联合查询

联合查询的关键字是: union

就是把两个硬连起来 用的也不多

sql查询

原文:https://www.cnblogs.com/sy130908/p/11218221.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!