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.查询所 ...
随机推荐
- 改变页面选择文字颜色和背景颜色----selection伪元素
div::selection{color:#fff;background: #E83E84;text-shadow:none}
- C# Cache何时使用及使用方法
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近 期开发的项目中有所体会,写下来当作总结也希 ...
- 解决linux top命令提示的unknown terminal type的问题
[root@localhost bin]# top 'xterm-256color': unknown terminal type. 在网上搜索了解决方法如下: 解决办法: 1.临时办法,下次启动失效 ...
- 天坑 之 JSP编译错误
情况:今天写自己的小网站,使用jsp+servlet+mysql,bean,dbutil,DAO等都已经写完,mySQL也已经创建好数据库,表,和字段,添加完成数据,启动tomcat,结果出现下图错误 ...
- MFC CSplitterWnd的用法
用MFC开发一个软件界面中需要拆分多个试图窗口时,使用CSplitterWnd类 CSplitterWnd类主要用在创建一个拆分试图窗口.通常嵌入在框架窗口中(CMainFrame) 创建步骤: 1 ...
- CentOS6.4 LAMP环境搭建
网上的教程,不能按着抄打进去,这样会打乱你环境放置位置, 会导致配置路径会出问题. 要有一个环境目录优化, 把环境文件都装在/usr/local里面 首先,把安装文件rar都放置在/usr/local ...
- 字符串水题(hdoj1049)
Problem Description Password security is a tricky thing. Users prefer simple passwords that are easy ...
- linux shell--算术运算
求和: 方法一.使用命令替换法: #!/bin/bash read -p 'input number a...' numA read -p 'input number b...' numB #这里有两 ...
- SDK Manager 报错:Connection timed out: connect
安装Eclipse的安卓开发环境的时候,安装sdk时报错,出现: 解决办法: 1.选择左上角的Tools 2.选择Options,勾选下面红色框的东西 3. 4.重新重启一下sdk manager即可
- 我所不知道的 Chrome 开发者工具
http://www.oschina.net/translate/things-i-didnt-know-about-chrome-devtools 自打我开始进行Web开发后,我就一直将Firebu ...