zoukankan      html  css  js  c++  java
  • 子查询

    ——————————子查询—————————————-

    ———–将查询的结果作为子表,连表查询 
    select * from StuInfo s1,(select * from StuMarks where Score >80)s2 where s1.StuID=s2.StuID AND s1.StuName=’李四’

    ———–将查询结果作为条件使用 
    select * from StuInfo WHERE StuID>(select StuID from StuInfo where StuName=’王五’) 
    ———–将子查询作为临时表使用 
    select s1.,s2 Score from StuInfo s1 left outer join (select from StuMarks where Subject=’HTML’) s2 on s1.StuID=s2.StuID 
    ———–将子查询作为列使用 (不建议使用) 
    select s1.*,(select Score from StuMarks s2 where s1.StuID=s1.StuID and subject=’html’) Score from StuInfo s1 
    ———–使用in 和not in 完成子查询 
    select StuName from StuInfo where StuID In (select StuID from StuMarks where Score >85 and Subject=’java’) 
    ———–使用exist 或not exist 完成子查询 
    select * from StuInfo where exists (select * from StuMarks where StuMarks.StuID=StuInfo.StuID) 
    ———–使用some 、any、 all进行子查询 
    ——————–聚合函数—————————————————– 
    —————使用compute 和compute by进行汇总 
    ———————-排序函数 
    —————排序函数over([分组子句]排序子句[desc][asc]) 
    —————排序子句order by 排序列,排序列……. 
    —————分组排序 partition by 分组列,分组列

    ————————row__number()函数 
    select row_number() over (order by Score DESC) AS 排名 
    s1.StuName,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID and s2.Subject=’Java’

    ————————rank函数 
    select rank() over (order by Score DESC) AS 排名 
    s1.StuName,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID and s2.Subject=’Java’

    ————————DENSE_RANK()函数 
    select dense_rank() over (order by Score DESC) AS 排名 
    s1.StuName,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID and s2.Subject=’Java’ 
    ————————-使用partition by 分组子句 
    select dense_rank() over (partition by s2.Subject order by Score DESC) AS 排名 
    s1.StuName,s2.Subject,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID 
    ————————-公用表达式 
    ————–CTE的基本用法 
    WITH expression_name[(column_name[,…n])] 
    as 
    (CTE_query_definition)

    with StuInfo_Mark (StuID,StuName,Subject,Score) 
    as 
    ( 
    select s1.StuID,s1.StuName,s2.Subject, 
    s2.Score from StuInfo s1,StuMarks s2 
    where s1.StuID=s2.StuID 
    ) 
    select * from StuInfo_Mark 
    go 

  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/yunfeioliver/p/7883495.html
Copyright © 2011-2022 走看看