博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql复杂查询
阅读量:5322 次
发布时间:2019-06-14

本文共 830 字,大约阅读时间需要 2 分钟。

内连接

左外连接 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,去重。

转载于:https://www.cnblogs.com/javabigdata/p/5625603.html

你可能感兴趣的文章
java 注解 学习
查看>>
[leetcode]403. Frog Jump青蛙过河
查看>>
匿名内部类--细节
查看>>
但我现在要将其中的“pageEncoding="ISO-8859-1"”默认为“pageEncoding="GBK"”,请问怎么修改MyEclipse?...
查看>>
英语音节知识
查看>>
IEEE 802.15.4协议学习之MAC层
查看>>
AngularJS学习篇(十三)
查看>>
JavaScript Function.apply() 函数详解
查看>>
Tableau 学习资料
查看>>
中断和异常
查看>>
lucene 全文检索工具的介绍
查看>>
C# MD5-16位加密实例,32位加密实例
查看>>
无线点餐系统初步构思
查看>>
AJAX
查看>>
前端之CSS
查看>>
List注意点【修改】
查看>>
sqoop导入导出对mysql再带数据库test能跑通用户自己建立的数据库则不行
查看>>
拓扑排序的原理及其实现
查看>>
对StageWebView捕获位图时空白
查看>>
Provison Profile管理及存放路径
查看>>