网站生成手机版,最新军事新闻报道,百度指数搜索榜度指数,wamp网站建设https://www.nowcoder.com/ta/sql
1.SQL嵌套查询
https://www.cnblogs.com/glassysky/p/11559082.html
#xff08;1#xff09;什么是嵌套查询
. 嵌套查询的意思是#xff0c;一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中1什么是嵌套查询
. 嵌套查询的意思是一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中称为嵌套查询。其中外层查询也称为父查询主查询。内层查询也称子查询从查询。
2嵌套查询的工作方式 先处理内查询由内向外处理外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子查询中。
3子查询的组成
1、包含标准选择列表组件的标准select查询。
2、包含一个或多个表或者视图名称的标准from子句。
3、可选的where子句。
4、可选的group by子句。
5、可选的having子句。
4子查询的语法规则
1、子查询的select查询总是使用圆括号括起来。
2、不能包括compute或for.browse子句。
3、如果同时指定top子句则可能只包括order by子句。
4、子查询最多可以嵌套到32层。个别查询可能会不支持32层嵌套。
5、任何可以使用表达式的地方都可以使用子查询只要它返回的是单个值。
6、如果某个表只出现在子查询中二不出现在外部查询中那么该表的列就无法包含在输出中。
示例
select name,age from person where age ( select age from person where name 孙权 )
输出结果为 ..........................等
2.SQL 关键字的使用顺序
https://www.cnblogs.com/solvit/p/9977952.html
select -- from -- where -- group by -- having -- order by having和where的用法区别 i. having只能用在group by之后对分组后的结果进行筛选(即使用having的前提条件是分组)。 ii. where肯定在group by之前即也在having之前。 iii. where后的条件表达式里不允许使用聚合函数而having可以。
3.三种用于进行排序的专用窗口函数
1、RANK() 在计算排序时若存在相同位次会跳过之后的位次。 例如有3条排在第1位时排序为1114······ 2、DENSE_RANK() 这就是题目中所用到的函数在计算排序时若存在相同位次不会跳过之后的位次。 例如有3条排在第1位时排序为1112······ 3、ROW_NUMBER() 这个函数赋予唯一的连续位次。 例如有3条排在第1位时排序为1234······ SELECT emp_no,salary, dense_rank() over(order by salary desc) as t_rank FROM salaries
WHERE to_date 9999-01-01
ORDER BY t_rank, emp_no asc