SQL————高级查询
高级查询
--连接查询 select * from 表1,表2 ————形成笛卡尔积
select * from 表1,表2 where 表1.主键=表2.外键 ————主外键位置可以互换
--join on 内连接
格式: select * from 表1 join 外键 on 表1.主键 = 表2.外键
--查哪位学生的哪一门课考了多少分
select student.sname,course.cname,score.degree from student join score on score.sno=student.sno join course on course.cno = score.cno
--右连接
右边表必须显示全,如果在左边表没有与之对应的信息,则补空值
格式:select * from 表1 right join 表2 on 表1.主键 = 表2.外键
--左连接
左边表必须显示全,如果在右边表没有与之对应的信息,则补空值
select * from 表1 left join 表2 on 表1.主键 = 表2.外键
--全连接
左右两边的表都显示完全
格式:select * from 表1 full join 表2 on 表1.主键 = 表2.外键
--联合查询
对于查出的两个或多个结构相同的表联合显示用union
格式: select 列1,列2 from 表1 union select 列1,列2 from 表2
--------子查询------------------
--子查询的结果当做父查询的条件 select * from Info
--无关子查询
子查询执行是独立的,和父查询是没有关系的(没有用到父查询的东西)
select * from Info where year(Birthday)=(select YEAR(Birthday) from info where Code='p005') ————查询和学号‘p005’出生年份相同的人的信息
--相关子查询
例如:select * from teacher ————求计算机系和电子工程系不同职称的老师信息
select * from teacher t1 where depart='计算机系'
and not exists( select * from teacher t2 where depart='电子工程系' and t1.prof = t2.prof)
union
select * from teacher t1 where depart='电子工程系'
and not exists( select * from teacher t2 where depart='计算机系' and t1.prof = t2.prof)
--查询除了每门课最高分之外的其他学生信息。
select * from score
select * from score s1 where degree not in( select MAX(degree) from score s2 group by cno having s1.cno = s2.cno )
分页 select * from Car
select top 5 * from Car -————前5条数据,第一页
select top 5 * from Car where Code not in(select top 5 Code from Car) ————第二页的数据
select top 5 * from Car where Code not in(select top 10 Code from Car) ————第三页的数据
select top 5 * from Car where Code not in(select top (5*2) Code from Car) ————第三页的数据
select ceiling(COUNT(*)/5) from Car ————求总页数
select * from Car where 条件 limit 跳过几条数据,取几条数据 ————mysql里面的分页
SQL————高级查询的更多相关文章
- SQL 高级查询(层次化查询,递归)
SQL 高级查询 前面我们写了一下 SQL 的极简入门,今天来说点高级查询.没看到的朋友可以点击下面链接查看. 1 小时 SQL 极速入门(一) 1 小时 SQL 极速入门(二) 1 小时 SQL 极 ...
- SQL高级查询技巧
SQL高级查询技巧 1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重 ...
- SQL高级查询基础
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...
- MYSQL SQL高级查询技巧
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...
- SQL高级查询
高级查询: 一.多表链接 1,普通查询 select * from 表名,表名 where 表名.列名 = 表名.列名 2,join链接 select * from 表名 join 表名 on 表名. ...
- SQL高级查询——50句查询(含答案) ---参考别人的,感觉很好就记录下来留着自己看。
--一个题目涉及到的50个Sql语句 --(下面表的结构以给出,自己在数据库中建立表.并且添加相应的数据,数据要全面些. 其中Student表中,SId为学生的ID) ---------------- ...
- SQL高级查询技巧(两次JOIN同一个表,自包含JOIN,不等JOIN)
掌握了这些,就比较高级啦 Using the Same Table Twice 如下面查询中的branch字段 SELECT a.account_id, e.emp_id, b_a.name open ...
- SQL高级查询——50句查询(含答案)
-一个题目涉及到的50个Sql语句 --(下面表的结构以给出,自己在数据库中建立表.并且添加相应的数据,数据要全面些. 其中Student表中,SId为学生的ID) ----------------- ...
- Oracle数据库——SQL高级查询
一.涉及内容 1.掌握SELECT语句的多表连接查询. 2.掌握SELECT语句的子查询. 二.具体操作 (一)根据Oracle数据库scott方案下的emp表和dept表,完成下列操作: 1.查询所 ...
随机推荐
- PCL库配置出现的问题(WIN10+VS2013)
边看电影边配终于配好了,中间出现了一些问题,在网上很难搜到,可能每个人都碰到的不同.摸索了一会终于都解决了,记录在这里,免得又碰到. PCL是什么东西就不在此介绍了. 主要是参考这篇博客做得,不过我后 ...
- Hacker(三)之黑客定位目标---IP
IP即Internet Protocol的简称,中文简称"网协",是为计算机网络相互连接进行通信而设计的协议.无论何种操作系统,只要遵守IP协议就可以与Internet互联互通. ...
- Audio-支持多个音频文件格式
通过使用 audio 元素或对象支持多个音频格式,你可以将更多的听众从多个浏览器吸引到你的网页上. 使用源元素指定多个音频格式 在将 HTML5 audio 元素添加到代码时,可以指定一条在浏览器不支 ...
- 第二章实例:动态生成View控件例子---小球跟随手指滑动
package mydefault.packge; import android.app.Activity; import android.content.Context; import androi ...
- JavaScript中setTimeout和setInterval的使用
相同点:这两个方法都可以用来实现在一个固定的时间之后去实现JavaScript代码,两个方法都包含有两个参数,第一个是将要执行的代码字符串,第二是以毫秒为单位的时间间隔,当过了这个时间间隔之后就会执行 ...
- VirtualBox添加共享文件夹
直接上图 添加了一个名为"Ubuntu10.04-en"的共享文件夹 但是按照它说的命令 mount -t vboxsf share mount_point 打入,然后悲剧了 错误 ...
- java poi 导入excel
最近项目需要导入excel,网上有很多例子,自己整合记录下,兼容2003和2007,暂时没有添加图片处理功能. 所需jar包 http://pan.baidu.com/s/1sjPuWDR pack ...
- PHP学习笔记,自己动手写个MVC的框架
最新在大家自己的博客的过程中,发现各种开源的博客系统都或多或少的用起来别扭.于是想动手自己写个博客系统.既然写,就想好好写.那就先写个MVC框架.一点一点来.写的过程中有很多想法.还希望大家能够多多指 ...
- C语言--关键字、标识(zhi)符、注释
一.关键字 1. 关键字 是C语言中提供的有特殊含义的符号,同时也叫做保留字,在C语言中关键字一共有32个,它们分别被赋予了特殊的含义.如:main.int.struct等等. 2. 关键字的特征 1 ...
- 使用事件CreateEvent注意事项
HANDLECreateEvent( LPSECURITY_ATTRIBUTESlpEventAttributes,// 安全属性 BOOLbManualReset,// 复位方式 BOOLbInit ...