zoukankan      html  css  js  c++  java
  • sql查询语句常用例子

    1、查找与jams在同一个单位的员工姓名、性别、部门和职称:
    select emp_no, emp_name, dept, title  from employee where emp_name<>'jams' and dept in (select dept from employee where emp_name=' jams'')

    2、按部门进行汇总,统计每个部门的总工资
    select  dept, sum(salary)  from employee  group by dept

    3、查找员工的编号、姓名、部门和出生日期,并按部门排序输出
    select emp_no ,emp_name ,dept , birthday from employee order by dept

    4、查找商品名称为三星笔记本商品的销售情况,显示该商品的编号、销售数量、单价和金额
    select a.prod_id, qty, unit_price, unit_price*qty totprice from sale_item a,product b where a.prod_id=b.prod_id and prod_name='三星笔记本'

    5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额
    select prod_id, sum(qty) totqty, sum(qty*unit_price) totprice from sale_item group by prod_id

    6、使用convert函数按客户编号统计每个客户2011年的订单总金额
    select cust_id, sum(tot_amt) totprice from sales where convert(char(4),order_date,120)='2011' group by cust_id

    7、查找有销售记录的客户编号、名称和订单总额
    select a.cust_id, cust_name, sum(tot_amt) totprice from customer a,sales b where a.cust_id=b.cust_id group by a.cust_id,cust_name

    8、查找在2012年中有销售记录的客户编号、名称和订单总额
    select a.cust_id,cust_name,sum(tot_amt) totprice from customer a,sales b where a.cust_id=b.cust_id and convert(char(4),order_date,120)='2012' group by a.cust_id,cust_name

    9、查找一次销售额最大的销售记录
    select order_no, cust_id, sale_id, tot_amt from sales where tot_amt= (select max(tot_amt) from sales)

    10、查找至少有5次销售的业务员名单和销售日期
    select emp_name,order_date from employee a,sales b where emp_no=sale_id and a.emp_no in (select sale_id from sales group by sale_id having count(*)>=5)
    order by emp_name

    11、用存在量词查找没有订货记录的客户名称
    select cust_name from customer a where not exists (select * from sales b where a.cust_id=b.cust_id)

     12、 求各部门的平均薪水,要求按平均薪水从小到大排序
    select dept, avg(salary) from employee group by dept order by avg(salary)

    13、 查询总订购金额超过’D0011’客户的总订购金额的客户号,客户名及其住址
    Select cust_id, cust_name,addr From customer Where cust_id in (select cust_id from sales Group by cust_id Having sum(tot_amt)>
    (Select sum(tot_amt) from sales where cust_id='D0011'))

    14、 查询没有承接业务的员工的信息
    Select * From employee a Where not exists (select * from sales b where a.emp_no=b.sale_id)

    15、 查询订购的产品至少包含了订单20004中所订购产品的订单
    Select distinct order_no From sale_item a Where order_no<>'20004' and not exists ( Select * from sale_item b where order_no ='20004' and not exists
    (select * from sale_item c where c.order_no=a.order_no and c.prod_id=b.prod_id))

    16、 查询订购了4种以上产品的订单号。
    Select order_no from sale_item Group by order_no Having count(*)>4

    17、 求每位客户订购的每种产品的总数量及平均单价,并按客户号,产品号从小到大排列。
    Select cust_id,prod_id,sum(qty),sum(qty*unit_price)/sum(qty) From sales a, sale_item b Where a.order_no=b.order_no Group by cust_id,prod_id
    Order by cust_id,prod_id

    18、 求出每位客户的总订购金额,显示出客户号及总订购金额,并按总订购金额降序排列。
    Select cust_id,sum(tot_amt) from sales Group by cust_id Order by sum(tot_amt) desc

    19、 找出公司女业务员所接且订单金额超过80000元的订单号及订单金额。
    Select order_no,tot_amt From sales ,employee Where sale_id=emp_no and sex='F' and tot_amt>80000

    20、在employee表中查询薪水超过员工平均薪水的员工信息。
    Select * from employee where salary>(select avg(salary) from employee)

    21、将技术部员工的薪水上调5%。
    update employee set salary=salary*1.05 where dept='技术部'

    22、计算出一共销售了几种产品。
    select count(distinct prod_id) as '共销售产品数' from sale_item

    23、选取编号界于‘A0001’和‘B0004’的客户编号、客户名称、客户地址。
    select CUST_ID, cust_name, addr from customer where cust_id between 'A0001' AND 'B0004'

    24、将表中住址为"上海市"的员工住址改为"北京市"
    update employee set addr='北京市' where addr like '上海市'

    25、查询表中的同一部门的职工的平均工资,但只查询"住址"是"北京市"的员工
    select avg(salary) avg_sal,dept from employee where addr like '北京市%' group by dept

    26、执行带参数的存储过程

    EXEC sp2_F_QueueConfirmCustomerInsert @OrderID ='343235365'

    27、统计两个时间差值

    SELECT datediff(s,a.createtime,b.createtime) as '耗时(s)',a.orderid,b.createtime,a.createtime FROM db..AutomationIssueRequest a,db..AutomationInStock b  where a.orderid=b.orderid and b.createtime >'2013-01-10 15:56:20.000'

    28、查看存储过程源码

    EXEC sp_helptext sp_QueueCustomerInsert

    29、查询订单量在40--50间的用户名

    select count(distinct orderid),uid from Orders group by uid  having count(distinct orderid) between 40 and 50

    30、只查询显示前50个订单

    Select top 50 orderid from Orders

  • 相关阅读:
    MySQL在windows上的安装步骤
    k-均值聚类算法
    python2和python3中filter函数
    解决mysql出现的问题#1055
    python高级编程1
    二叉树
    Python常用算法(二)
    Python常用算法(一)
    Java蓝桥杯--入门训练(1) Fibonacci数列
    java基础--for-跑步运动
  • 原文地址:https://www.cnblogs.com/mazj611/p/3497738.html
Copyright © 2011-2022 走看看