sql复杂查询
内连接
左外连接 Left Outer Join On ,无论右边是否匹配到,左边的数据都在
右外连接 Right Outer Join On ,无论左边是否匹配到,右边的数据都在
子查询: 将一个查询作为另一个查询的一部分
查询student表中年龄最大学员的信息 select * from student where age = (select max(age) from student);
IN/EXISTS 存在
查询所有成绩小于60分的同学名称
select name from student where id in (select student_id from studentcource where score < 60);
select name from student where exists (select * from studentcource where score < 60 and student.id = studentcource.student_id);
exists的查询效率一般高于in ,实际开发中,建议多使用exists
ANY、SOME、ALL
ANY 部分数据 >any(1,2,3) 大于最小的
ALL 所有数据 > all(1,2,3) 大于最大的
groupby 按照某个条件分组,形成一个新的结果集,多和having联用。having根据条件过滤分组的数据。
比如 搜索学生总成绩大于等于500分的学生id
SELECT student_id, total_score
FROM student_score
GROUP BY student_id
HAVING total_score>=500
UNION [ALL] 取结果集并集 有all的时候包含所有不去重,没有all,去重。
最新文章
- 常用JavaScript触发事件
- 读取数据库数据,并将数据整合成3D饼图在jsp中显示
- CentOS系统yum源使用报错:Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge.
- Eclipse中快速删除空行
- android 引入phonegap
- 游戏引擎/GUI的设计与实现-主题
- C++学习43 输入输出有关的类和对象
- 暂时告别Solr了
- Swift语法之 ---- ?和!区别
- BOGEER博格尔YT-813码表使用说明书 (我的是YT-823)
- tp3.2 事务处理
- Net包管理NuGet(1)nuget的使用方法
- JRE与JDK简介
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十九):MessageHandler 的未知类型消息处理
- 数据库语句收藏(MySQL)
- 031 分布式中,zookeeper的部署
- ActiveMQ consumer按顺序处理消息
- servlet/和/*匹配的区别
- NAT地址转换
- BZOJ 3172 [Tjoi2013]单词 AC自己主动机(fail树)
热门文章
- Computed property names
- Spring设置动态定时任务
- easyui中自定义下拉框的使用
- 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)
- 94. Binary Tree Inorder Traversal(Tree, stack)
- Python+Selenium学习--设置等待时间
- 解决com.microsoft.sqlserver.jdbc.SQLServerException: 该连接已关闭
- SAP ALV 修改数字需要添零问题
- java图片操作--生成与原图对称的图片
- DMZ原理与应用