zoukankan      html  css  js  c++  java
  • sql查询复习笔记小技巧,大智慧(续一)

    3.回答有关“至少”的问题
    前言:“至多”的对立面是“至少”。通常,采用“至多”问题中表述的技巧变体,就可以解决“至少”问题。当解决“至少”问题时,把他们换成“没有更少的”说法会更好理解。
    问题(6):找到至少选择两门课程的学生。
    Code
    问题(7):找到同时选取sqlserver和mysql课程的学生。
    Code
    问题(8):找到至少比两个学生大的学生。
    Code
    4.回答有关“准确”的问题
    问题(9):找到只教一门课程的教授。
    Code
    问题(10):找到只选择sqlserver和mysql的学生(只选取了这两门课程,没有选择其他课程)
    Code
    问题(11):找到只比两个学生大的学生(也就是找到第三年轻的学生)
    Code

    5:回答有关“一些”或“所有”的问题
    问题(12):找到选取所有课程的学生。

    select sd.Tid,sd.Name,sd.Age from Student sd,StudentTakeCourses stc
    where sd.Tid=stc.Sid
    group by sd.Tid,sd.Name,sd.Age 
    having count(stc.Cid)=(select count(*from course) --根据课程数排除课程没有都选的学生

    问题(13):找到比其他所有学生都大的学生。(找到年龄最大的学生)

    --使用max聚集函数
    select * from Student where Age=(select max(Age) from Student)

    还有一种比较常见的方式:

    --常见方式
    select * from Student where Age>=all (select Age from Student)

    最后通过自连接也可以查询到结果,不过没有上面两种看起来直接了当:

    --自连接方式
    select * from Student 
    where Age not in 
    (
    select sd1.Age from Student sd1,student sd2
    where sd1.Age<sd2.Age
    )

    <完>


    作者:Jeff Wong
    出处:http://jeffwongishandsome.cnblogs.com/
    本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。

  • 相关阅读:
    业务领先模型(Business Leadership Model; BLM)
    快速了解云安全态势管理(CSPM)
    《贸易打造的世界:1400年至今的社会、文化与世界经济》笔记
    《消费社会》笔记
    《向上生长 看懂趋势,掌控未来》
    DSCMM 数据安全能力成熟度模型
    薪火
    《贸易的冲突:美国贸易政策200年》笔记
    近年火热的“信创”到底是什么
    什么是“以数据为中心的安全”?(一) —— 大家眼中的DCS
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1429768.html
Copyright © 2011-2022 走看看