SQL学习(持续更新)
1、having筛选分组
正如where子名限制了select显示的行数,having限制了group by显示的分组数。where查询条件在分组产生前就被计算,而having搜索条件在分组产生之后才被应用。除了having子句可以包含聚合函数以外,having语法类似于where语法。having子句可以引用显示在select列表中的任何一项。
总结:(1)where子句从from和join子句指定的运算结果中筛选行;(2)group by子句对where子句的输出进行分组;(3)having子句对分组后的结果筛选行。
2、DBMS处理联结时,按照以下顺序执行整个查询
(1)在join子句中应用联结条件。
(2)在where子句中应用联结条件和查询条件。
(3)按照group by子句对行分组。
(4)在having子句中对分组应用搜索条件。
(5)按照order by子句对结果排序。
3、using子句
对于join语法,如果被联结的列有相同的名字且被用于比较是否相等,SQL标准定义了替代on子句的using子句。
例如:
select [name],[city] from [authors] inner join [publishers] using([city]);
4、使用all比较所有子查询的值
在子查询比较中,all修改了比较操作符,并且跟在=、<>、<、<=、>、>=之后, 表示等于、不等于、大于、小于子查询的结果中的所有值。
例如:
select * from [table1] where [col1]>all (select [col1] from [table2]);
5、使用any比较子查询的值
确定是否一个值等于、大于、小于子查询的结果中的某个值。
6、使用exists检测存在性
exists和not exists不比较值,而是在子查询结果中确定存在或不存在行。
例如:
select [pub_name] from [publishers] p where exists (select * from [titles] t where t.[pub_id]=p.[pub_id] and [type]='biography');
7、集合操作
(1)union返回两个查询返回的所有行,但会删除重复行。
select_statement1 union [all] select_statement2;
(2)intersect返回两个查询返回的所有共同行。
select_statement1 intersect select_statement2;
(3)except返回第一个查询存在,但第二个查询中不存在的所有行,删除重复行。
select_statement1 except select_statement2;
SQL学习(持续更新)的更多相关文章
- MongoDB学习——持续更新
參考MongoDB权威指南,学习阶段.大家多多交流问题.持续更新本文 MongoDB的长处 MongoDB具有丰富的数据模型,是面向文档的数据库. easy扩展.能够在多台server之间切割数据. ...
- SqlServer学习-常用的sql语句-持续更新中
1.获取数据库下的所有表名 select TABLE_NAME from information_schema.tables where TABLE_TYPE='Base TABLE' 2.随机取出1 ...
- 读书笔记|Windows 调试原理学习|持续更新
关于调试方面的学习笔记,主要来源于<软件调试>的读书笔记和梦织未来论坛的视频教程 1.调试器使用一个死循环监听调试信息. DebugActiveProcess(PID);while(TRU ...
- SQL语言 持续更新中……
SQL提供了很多的聚集函数 COUNT([DISTINCT\ALL]*) SUM([DISTINCT\ALL]<列名>)AVG().…… WHERE 子句中是不能用聚集函数作为条件表达式 ...
- flask插件全家桶集成学习---持续更新ing
不得不说flask的设计要比django要小巧精妙的多了,没有那么臃肿,只保留核心功能,其他的都需要自己引入,即各种各样的插件来满足我们的需求,我这里记录一下自己学习项目中用的插件使用方法和一些技巧总 ...
- nodejs学习[持续更新]
1.退出node process.exit(0) 2.把API从上往下全部看一遍,先混个眼熟. 3. end
- nodejs 语法学习(持续更新)
合并objects var o1 = { a: 1 }; var o2 = { b: 2 }; var o3 = { c: 3 }; var obj = Object.assign(o1, o2, o ...
- canvas学习持续更新
参考:菜鸟教程,canvas教程 绘制一个简单的矩形 <body> <canvas id="myCanvas" width="200" hei ...
- MySQL的一些常用sql函数(持续更新。。)
1. 字符串拼接函数 :CONCAT(str1,str2,...) SELECT CONCAT('AAA','BBB') STR; //AAABBB 2. 判断是否为null,为null就指定另外一个 ...
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
随机推荐
- C# 自定义控件入门
原文地址:http://www.itdaan.com/blog/2008/03/29/95500785fa538b3900b34ee824376e8b.html 这几天为了什么"评估&quo ...
- jquery实现点击展开列表同时隐藏其他列表 js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象
这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击 ...
- High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件
原文地址:https://www.codeproject.com/articles/14075/high-speed-charting-control 本文翻译在CodeProject上的介绍(主要还 ...
- angularjs框架及其生态环境 --待续
angular的MVVM框架结构: 1. app, 2.routes, config, 3.module, 4.Controller, $scope,controller参数,事件 ...
- 去掉WinLicense文件效验的方法
去掉WinLicense文件效验的方法 --------------Breakpoints-------------- 地址 模块 活动 反汇编 注释------------------------- ...
- IE6-IE9兼容性问题列表及解决办法:锁表头的JQuery方案和非JQuery方案(不支持IE6,7,8)
鉴于从IE8开始,IE不再支持css的expression了,所以以前依靠它完成锁表头的代码就全部失效了,面对新的浏览器,一切又要重新来过了. 现在所能找到的对于锁表头的方案主要有两种路子:一种是使用 ...
- 解决tomcat服务器下,只能通过localhost,而不能通过127.0.0.1或者本地ip地址访问的问题
今天在tomcat上部署了一个web应用以后,发现用localhost的方式来访问应用是正常的,但是换成127.0.0.1或者是本地的ip地址来访问,确出现访问不了的情况.之前想是不是防火墙的问题,于 ...
- 个人用户使用genymotion 模拟器
genymotion android模拟器速度快,比较好用.对公司使用的是要收费的,但是对个人使用还是免费的,所以个人用户还可以继续使用.使用方法 1.注册账号,填写用户名.邮箱.密码.公司类型(选g ...
- jmeter Best Practices
性能测试最佳实践之JMeter 16. Best Practices 16.1 Always use latest version of JMeter The performance of JMete ...
- 携程的配置中心(阿波罗apollo)
https://github.com/ctripcorp/apollo https://pan.baidu.com/s/1dFEGMIX#list/path=%2Fmeetup%20ppt%2F040 ...