• 数据库常见考题查询SQL


    1、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序

     

    执行查询:

    select count(*) count,a.deptid from employee a where a.salary >
    (select avg(salary) from employee b where a.deptid = b.deptid) 
    GROUP BY a.deptid
    select count(*) count,a.deptid from employee a,
    (select deptid,avg(salary) as numberFROM employee GROUP BY deptid)b 
    where a.salary > b.number and a.deptid = b.deptid
    GROUP BY a.deptid

    2、用一条SQL语句查询出每门课都大于80分的学生姓名

    执行查询:

    select distinct name from score  where  name not in (select distinct name from score where score<=80)

    请写出下列查询的SQL语句:

    3、查找出所有位于亚洲并且奖牌数不小于10的国家,返回结果应该包含:国家姓名,奖牌数量

     执行查询:

    select COUNTRY_NAME,SUM(MEDAL_COUNT) as NUMBER from demo1 WHERE CONTINENT="Asia"  GROUP BY COUNTRY_NAME HAVING SUM(MEDAL_COUNT)>=10

    4、查找出上表所有获得超过一种奖牌的国家,返回的结果应当包含:国家姓名,奖牌类型的数量

     执行查询:

    select COUNTRY_NAME,COUNT(MEDAL_TYPE) as NUMBER from demo1  GROUP BY COUNTRY_NAME HAVING COUNT(MEDAL_TYPE)>1

    5、查找出所有满足以下条件的记录,条件为:某个国家某种奖牌的数量比整个世界同种奖牌数量的平均值要高,返回的结果应当包含:国家姓名,奖牌类型,奖牌数量

     执行查询:

    select a.COUNTRY_NAME,a.MEDAL_TYPE,a.MEDAL_COUNT from demo1 a,
    (select MEDAL_TYPE,AVG(MEDAL_COUNT) as average from demo1 GROUP BY MEDAL_TYPE)b
    where a.MEDAL_COUNT > b.average and a.MEDAL_TYPE = b.MEDAL_TYPE
    追梦的脚步,永不停息
  • 相关阅读:
    零代码实现接口自动化测试RF框架实践
    【js】script标签中的async和defer属性
    【vue】preload与prefetch的使用和区别
    【js】对象属性名为对象时
    【vue】 vuedevtoos 工具
    【js】call、apply和bind的区别
    【js】防抖节流理解及应用场景
    Arthas(3):jvm相关命令
    frp:通过公网域名访问内网机器
    Arthas(5):monitor watch trace 相关
  • 原文地址:https://www.cnblogs.com/liuzhenping/p/7410112.html
Copyright © 2020-2023  润新知