网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

SQL练习题尽量晒出自己的SQL哦

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员,鉴于大家对SQL练习题尽量晒出自己的SQL哦十分关注,会员在此为大家搜集整理了“SQL练习题尽量晒出自己的SQL哦”一文,供大家参考学习!


    SQL练习题,尽量晒出自己的SQL哦
    8.现有表A:
    IDSTATUS
    10
    19
    29
    29
    29
    39
    写一个sql语句,要取出STATUS全部为9的ID,例如上面记录中1不满足条件,2、3均满足条件。
    9.表结构如下:
    企业名称欠费金额是否欠费
    a120未
    b120是
    c60未
    a120是
    a120是
    b120未
    
    要取如下格式该怎么写sql语句(注意:列名都使用中文对应的英文命名)
    
    企业名称应缴金额实缴金额欠费金额是否欠费
    a360120240是
    b240120120是
    c60600未
    10.表结构如下:
    oidownernumstatus
    100021001
    100032002
    200024003
    200034001
    100025001
    100036001
    
    200027003
    
    希望显示的结果:
    oidownerSum_numstatus
    10002600完成
    10003800完成中
    200021100初始
    20003400完成
    
    sum_num为相同oid与owner列的num之和;
    S_status:若全为1则是完成;
    若有一个2则是完成中
    若全为3则是初始
    12.表结构如下:
    表A:Employee_snStartDateEndDate
    1'2007-01-02''2007-01-03'
    1'2007-01-05''2007-01-06'
    1'2007-01-09''2007-01-13'
    2'2007-02-02''2007-02-03'
    3'2007-04-02''2007-04-03'
    
    表B:Employee_snCreateDate
    1'2007-01-02'
    1'2007-01-05'
    1'2007-01-03'
    3'2007-04-02'
    1'2007-01-04'
    1'2007-01-02'
    2'2007-02-02'
    
    
    要得到的结果:
    Employee_snStartDateEndDateCount
    1'2007-01-02''2007-01-03'3
    1'2007-01-05''2007-01-06'1
    1'2007-01-09''2007-01-13'0
    2'2007-02-02''2007-02-03'1
    3'2007-04-02''2007-04-03'1
    
    注:根据表A中的时间段和员工编号到表B中去统计出对应的员工在该时间段的记录总数.
    表A中的员工可能会有多个时间段,但时间段彼此不会重复.
    13.表结构如下:
    币种金额(本币)金额(外币)
    001100500
    001200600
    013300700
    014400800
    
    希望显示的结果:
    币种金额
    001100
    001200
    013700
    001300
    014800
    001400
    
    注:001代表本币,其他的都是外币,检索结果中,外币币种都生成2条记录,一条是外币信息一条是本币信息
    可以使用任何方法来实现(包括建临时表等)
    
    
    
    
    
    19.表A:
    序号日期营业员收款方式金额
    120080201A人民币100
    120080201A信用卡100
    120080201A美金100
    220080201A人民币200
    220080201A信用卡200
    320080201A美金300
    420080201B人民币100
    420080201B信用卡100
    420080201B美金100
    420080201B抵值券100
    520080202B人民币200
    520080202B信用卡200
    520080202B美金200
    620080202A信用卡400
    620080202A美金400
    720080202B人民币300
    820080202B信用卡400
    820080202B美金400
    
    写一个sql实现小计、合计,效果如下
    日期营业员收款方式金额
    20080201A人民币300
    信用卡300
    美金400
    B人民币100
    信用卡100
    美金100
    
    抵值券100
    小计1400
    20080202A信用卡400
    美金400
    B人民币500
    信用卡600
    美金600
    小计2500
    合计3900
    
    
    21.表A:
    日期单据号业务员应收金额实收金额收款方式汇率找零金额
    20080203D1A80.00100.00001120.00
    20080203D1A0.000.0001170.00
    20080203D1A0.000.0001280.00
    20080203D2A10.0010.0000110.00
    20080204D1A80.0010.0000110.00
    20080204D1A0.0010.0001170.00
    20080204D2B90.0030.00001110.00
    20080204D2B0.0010.0001170.00
    20080205D1A100.0010.0000114.00
    20080205D1A0.005.0001170.00
    20080205D1A0.005.0001280.00
    20080205D1A0.002.0001390.00
    表B:
    日期单据号商品号数量金额
    20080203D1S1140.00
    20080203D1S2220.00
    20080203D1S3120.00
    20080203D2S1110.00
    200802
    04D1S2260.00
    20080204D1S3220.00
    20080204D2S2270.00
    20080204D2S3520.00
    20080205D1S1510.00
    20080205D1S2220.00
    20080205D1S3130.00
    20080205D1S4140.00
    业务说明:模拟超市收银系统,以20080205数据举例,D1这张单据总共应收001本币100元,
    客户在交钱时分别付了001本币10元,011外币5元,012外币5元,013外币1元,
    按照汇率兑换成001本币后总共收了10×1+5×7+5×8+2×9=104元
    则需要按001本币找零4元。
    
    写一个sql,查询指定日期段内的销售收款情况,显示结果示例如下:(日期:20080204~20080205)
    
    日期:20080204单据:D1业务员:A
    S2260.00
    S3220.00
    小计80.00
    001110.00
    011710.00
    找零0.00
    日期:20080204单据:D2业务员:B
    S2270.00
    S3520.00
    小计90.00
    001130.00
    011710.00
    找零10.00
    日期:20080205单据:D1业务员:A
    
    S1510.00
    S2220.00
    S3130.00
    S4140.00
    小计100.00
    001110.00
    01175.00
    01285.00
    01392.00
    找零4.00
    尽量晒出自己的SQL,多多交流!
    
    __________________
    做自己喜欢的事......喜欢自己做的事......
    只看该作者引用回复报告
    
    dingjun123
    djゆoracle
    
    来自china
    精华贴数8
    个人空间0
    技术积分17718(86)
    社区积分15084(153)
    注册日期2006-7-28
    论坛徽章:173
    
    
    #2使用道具发表于2010-6-700:29
    面试题?
    
    __________________
    剑破冰山火热销售中,目前关注度和近期销量在计算机书籍中NO.1,如需了解,请点击(china-pub、当当、亚马逊、华褚等知名网上书城以及各大书店均有销售)...
    全书共20章,520余页,内容比较殷实,覆盖开发和调优常用知识,以及数位作者实战经验总结,详解Oracle开发误区,复杂SQL报表,开发调优必知必会,11g强大SQL新特性等,性价比超高...
    大量收购ITPUB8周年纪念章,卖的PM我,直接点击即可PM...
    只看该作者引用回复报告
    
    〇〇
    
    精华贴数8
    个人空间0
    技术积分36849(33)
    社区积分6806(331)
    注册日期2008-1-16
    论坛徽章:129
    
    
    #3使用道具发表于2010-6-706:51
    nocreateandinserttablescriptnoanswer
    
    __________________
    剑破冰山—Oracle开发艺术已经上架销售
    网购地址:互动电子工业出版社书店卓越亚马逊当当华储
    在线阅读:5lcto华储
    源代码:博文视点ITPUB
    只看该作者引用回复报告
    
    风铃中の鬼
    
    来自北京
    精华贴数0
    个人空间0
    技术积分2138(992)
    社区积分18(10739)
    注册日期2009-3-29
    论坛徽章:10
    
    
    #4使用道具发表于2010-6-708:58
    同楼上。。这么多道题还都用的不同的表。。给个建表和插入数据的脚本呗?
    
    只看该作者引用回复报告
    
    dingjun123
    djゆoracle
    
    来自china
    精华贴数8
    个人空间0
    技术积分17718(86)
    社区积分15084(153)
    注册日期2006-7-28
    论
    坛徽章:173
    
    
    #5使用道具发表于2010-6-710:15
    有的题目还是有难度的
    [本帖最后由dingjun123于2010-6-710:20编辑]
    
    __________________
    剑破冰山火热销售中,目前关注度和近期销量在计算机书籍中NO.1,如需了解,请点击(china-pub、当当、亚马逊、华褚等知名网上书城以及各大书店均有销售)...
    全书共20章,520余页,内容比较殷实,覆盖开发和调优常用知识,以及数位作者实战经验总结,详解Oracle开发误区,复杂SQL报表,开发调优必知必会,11g强大SQL新特性等,性价比超高...
    大量收购ITPUB8周年纪念章,卖的PM我,直接点击即可PM...
    只看该作者引用回复报告
    
    liakngkang
    灵之舞——小狐狸
    雪中飞柔
    
    来自山东青岛
    精华贴数0
    个人空间0
    技术积分931(2654)
    社区积分140(3890)
    注册日期2009-12-28
    论坛徽章:3
    
    
    #6使用道具发表于2010-6-713:05
    [quote]原帖由凝结水晶于2010-6-611:55PM发表
    8.现有表A:
    IDSTATUS
    10
    19
    29
    29
    29
    39
    写一个sql语句,要取出STATUS全部为9的ID,例如上面记录中1不满足条件,2、3均满足条件。
    answer:selectidfromtbgroupbyidhavingmax(STATUS)=min(STATUS)andmin(STATUS)=9;
    ------大家就学习学习newkid脾气好点吧
    
    __________________
    在最短的时间达到最高的效率----康康家园
    欢迎加入群103566745
    只看该作者引用回复报告
    
    liakngkang
    灵之舞——小狐狸
    雪中飞柔
    
    来自山东青岛
    精华贴数0
    个人空间0
    技术积分931(2654)
    社区积分140(3890)
    注册日期2009-12-28
    论坛徽章:3
    
    
    #7使用道具发表于2010-6-713:14
    9.表结构如下:
    企业名称欠费金额是否欠费
    a120未
    b120是
    c60未
    a120
    是
    a120是
    b120未
    
    要取如下格式该怎么写sql语句(注意:列名都使用中文对应的英文命名)
    
    企业名称应缴金额实缴金额欠费金额是否欠费
    a360120240是
    b240120120是
    c60600未
    answer:
    select
    企业名称,
    sum(欠费金额)应缴金额,
    sum(decode(是否欠费,'未',欠费金额,0))实缴金额,
    sum(decode(是否欠费,'未',0,欠费金额))欠费金额,
    casewhensum(decode(是否欠费,'未',0,欠费金额))>0then'是'else'未'end
    fromtb
    groupby企业名称
    
    __________________
    在最短的时间达到最高的效率----康康家园
    欢迎加入群103566745
    只看该作者引用回复报告
    
    txlcl
    中级会员
    精华贴数0
    个人空间0
    技术积分605(4030)
    社区积分529(1848)
    注册日期2006-8-24
    论坛徽章:1
    
    
    #8使用道具发表于2010-6-713:15
    回复#6liakngkang的帖子
    不错,学习啦。
    
    __________________
    荣辱不惊,看庭前花开花落,去留无意,望天上云卷云舒。
    只看该作者引用回复报告
    
    liakngkang
    灵之舞——小狐狸
    雪中飞柔
    
    来自山东青岛
    精华贴数0
    个人空间0
    技术积分931(2654)
    社区积分140(3890)
    注册日期2009-12-28
    论坛徽章:3
    
    
    #9使用道具发表于2010-6-713:24
    10.表结构如下:
    oidownernumstatus
    100021001
    100032002
    200024003
    200034001
    100025001
    100036001
    200027003
    
    
    希望显示的结果:
    oidownerSum_numstatus
    10002600完成
    10003800完成中
    200021100初始
    20003400完成
    
    sum_num为相同oid与owner列的num之和;
    S_status:若全为1则是完成;
    若有一个2则是完成中
    若全为3则是初始
    answer:
    select
    oid,
    owner,
    sum(num)Sum_num,
    casewhenmax(status)=min(status)andmin(status)=1then'完成'
    whenmax(status)=min(status)andmin(status)=3then'初始'
    else'完成中'end
    fromtb
    groupbyoid,owner
    
    __________________
    在最短的时间达到最高的效率----康康家园
    欢迎加入群103566745
    只看该作者引用回复报告
    
    liakngkang
    灵之舞——小狐狸
    雪中飞柔
    
    来自山东青岛
    精华贴数0
    个人空间0
    技术积分931(2654)
    社区积分140(3890)
    注册日期2009-12-28
    论坛徽章:3
    
    
    #10使用道具发表于2010-6-713:30
    12.表结构如下:
    表A:Employee_snStartDateEndDate
    1'2007-01-02''2007-01-03'
    1'2007-01-05''2007-01-06'
    1'2007-01-09''2007-01-13'
    2'2007-02-02''2007-02-03'
    3'2007-04-02''2007-04-03'
    
    表B:Employee_snCreateDate
    1'2007-01-02'
    1'2007-01-05'
    
    1'2007-01-03'
    3'2007-04-02'
    1'2007-01-04'
    1'2007-01-02'
    2'2007-02-02'
    
    要得到的结果:
    Employee_snStartDateEndDateCount
    1'2007-01-02''2007-01-03'3
    1'2007-01-05''2007-01-06'1
    1'2007-01-09''2007-01-13'0
    2'2007-02-02''2007-02-03'1
    3'2007-04-02''2007-04-03'1
    
    注:根据表A中的时间段和员工编号到表B中去统计出对应的员工在该时间段的记录总数.
    表A中的员工可能会有多个时间段,但时间段彼此不会重复.
    answer:
    selecta.Employee_sn,a.StartDate,a.EndDate,count(1)
    froma,b
    wherea.Employee_sn=b.Employee_snandb.CreateDatebetweena.StartDateanda.EndDate
    groupbya.Employee_sn,a.StartDate,a.EndDate
    
    
    
  • 上一篇资讯: SQL经典38语句.sql
  • 下一篇资讯: SQL练习资料
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师