• 0606mysql练习:查询2


          仓库表加练习题

    表(一)worker职工表                       

    属性名

    数据类型

    可否为空

    含 义

    Work_id

    varchar (20)

    职工号(主码)

    Ware_id

    varchar (20)

    仓库号(外码)

    wages

    varchar (20)

    工资

    表(二)warehouse(仓库表)

    属性名

    数据类型

    可否为空

    含 义

    Ware_id

    varchar (20)

    仓库号(主码)

    city

    varchar (20)

    城市

    area

    varchar (20)

    面积

    表(三)  表表(三)order(订单表)

    属性名

    数据类型

    可否为空

    含 义

    Work_id

    varchar (20)

    职工号(外码)

    supp_id

    varchar (20)

    供应商号(外码)

    Order_id

    varchar (20)

    订购单号

    主码:Work_id+ supp_id

    表(四)supply(供应商表)

    属性名

    数据类型

    可否为空

    含 义

    supp_id

    varchar (20)

    供应商号(主码)

    supp_name

    varchar (20)

    供应商名

    supp_area

    varchar (20)

    地址

     

    --1.从职工关系中检索所有工资值。

    select wages from worker

    --2.检索仓库关系中的所有记录。

    select * from warehouse

    --3.检索工资多于1230元的职工号。

    select work_id from worker where wages > 1230

    --4.检索哪些仓库有工资多于1210元的职工。

    select distinct ware_id from worker where wages > 1210

    --5.给出在仓库“wh1”或“wh2”工作,并且工资少于1250元的职工号。

    select work_id from worker where wages < 1250  and ware_id in ('wh1','wh2')

    --6.找出工资多于1230元的职工号和他们所在的城市。

    select work_id,city from worker natural join warehouse on wages > 1230

    --7.找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。

    select work_id,city from worker natural join warehouse where area > 400;

    --★8.哪些城市至少有一个仓库的职工工资为1250元。 

    select distinct city from warehouse natural join worker where wages = 1250  

    --9.查询所有职工的工资都多于1210元的仓库的信息。 

    select distinct a.* from warehouse as a natural join worker where ware_id not in (select ware_id from worker where wages <=1210);

    select * from warehouse  where ware_id in (select ware_id from worker where ware_id  not in (select ware_id from worker where wages <=1210))

    --10.找出和职工e4挣同样工资的所有职工。

    select work_id from worker where wages = (select wages from worker where work_id = 'e4') and work_id != 'e4'

    --11.检索出工资在1220元到1240元范围内的职工信息。 

    select * from worker where wages between 1220 and 1240

    --★12.从供应商关系中检索出全部公司的信息,不要工厂或其他供应商的信息。 

    select * from supply where supp_name like '%公司'

    --13.找出不在北京的全部供应商信息。

    select * from supply where supp_area != '北京'

    --14.按职工的工资值升序检索出全部职工信息。

    select * from worker order by wages 

    --15.先按仓库号排序,再按工资排序并输出全部职工信息。 

    select * from worker order by ware_id,wages

    --16.找出供应商所在地的数目

    select count(distinct supp_area) from supply
    --17.求支付的工资总数。

    select sum(wages) from worker

    --18.求北京和上海的仓库职工的工资总和。

    select sum(wages) from worker where ware_id in (select ware_id from warehouse where city in ('上海','北京'))

    --19.求所有职工的工资都多于1210元的仓库的平均面积。

    select avg(area) from warehouse  where ware_id in (select ware_id from worker where ware_id  not in (select ware_id from worker where wages <=1210))

    --20.求在wh2仓库工作的职工的最高工资值。

    select max(wages) from worker where ware_id = 'wh2'

    --21.求每个仓库的职工的平均工资。

    select ware_id,avg(wages) from worker group by ware_id

    --22.求至少有两个职工的每个仓库的平均工资。

    select ware_id,avg(wages) from worker group by ware_id having count(*)>1

    --23.找出尚未确定供应商的订购单。

    select * from orders where supp_id = ''

    --24.列出已经确定了供应商的订购单信息。

    select * from orders where supp_id != ''

    --25.查询供应商名。

    select supp_name from supply where supp_name !=''

    --★26.在订购单表中加入一个新字段总金额,说明完成该订购单所应付出的总金额数。

    alter table orders add money varchar(20)not null

    --27.列出每个职工经手的具有最高总金额的订购单信息。

    select * from orders group by work_id

    --28.检索哪些仓库中还没有职工的仓库的信息。

    select * from warehouse where ware_id not in(select ware_id from worker)

    --29.检索哪些仓库中至少已经有一个职工的仓库的信息。

    select * from warehouse where ware_id in(select ware_id from worker)

    --★30.检索有职工的工资大于或等于wh1仓库中任何一名职工工资的仓库号。

    select distinct ware_id from worker where wages >= any(select wages from worker where ware_id = 'wh1') and ware_id != 'wh1'

    --★31.检索有职工的工资大于或等于wh1仓库中所有职工工资的仓库号。

    select distinct ware_id from worker where wages >= (select max(wages) from worker where ware_id = 'wh1') and ware_id != 'wh1'

  • 相关阅读:
    vue简单 tabbar封装
    Vue自定义指令实例(实时时间转换指令)
    flutter-搜索条
    flutter-保持页面的效果
    flutter-毛玻璃的效果(很消耗性能)
    flutter-路由跳转动画效果(渐隐渐现,缩放效果,旋转缩放)
    flutter-底部导航&不规则导航
    flutter-异步请求选择回来的方法
    flutter-一般页面导航和返回(传递和接收参数)
    flutter-卡片组件布局
  • 原文地址:https://www.cnblogs.com/zhangbaozhong/p/9152856.html
Copyright © 2020-2023  润新知