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

SQL语句的循序渐进写法

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

【网学网提醒】:网学会员鉴于大家对十分关注,论文会员在此为大家搜集整理了“SQL语句的循序渐进写法”一文,供大家参考学习


    SQL语句的循序渐进写法
    燕子老师发表于2007-8-2918:41:00
    
    二级VF考试中,SQL语言部分占了很大比例,可以说该部分掌握好坏直接关系到整个考试的成败。
    在上机考试中,初学者在进行SQL语言查询时常常丢三拉四,或是标点符号的全角半角搞错了,或丢掉了某些必要步骤,导致很长时间也无法得到正确输入。
    那么,如何能书写好的复杂SQL查询语句呢?
    本人归纳了一套循序渐进的书写方法,对于初学者非常有效。
    1)SQL语句的格式可以归纳为:
    select字段from表;
    where筛选条件;
    groupby分组字段;
    having分组条件;
    orderby排序字段asc,desc
    2)学习语言可以认为是一个学习填空的过程。语言的框架已经在设计语言编译器时就给定了,用户不可违背,必须遵守语言提供好的规范,用户做的就是把自己需要表达的东西以填空的方式填入其中。
    2.1)分析数据源,尝试在命令窗口运行基本框架直到正确。
    单表可以在命令窗口中输入:select*from表
    双表可以在命令窗口中输入:select*from表1,表2where表1.联接字段=表2.联接字段
    三表需要分析表如何链接然后在命令窗口中输入:select*from表1,表2,表3where表1.联接字段=表2.联接字段and表2.联接字段=表3.联接字段
    如果采用超联接模式书写,
    双表模式可以书写为:select*from表1join表2on表1.联接字段=表2.联接字段
    三表模式可以书写为:select*from表1join表2join表3on表2.联接字段=表3.联接字段and表1.联接字段=表2.联接字段
    2.2)分析筛选条件,将其转换为逻辑表达式。
    光标移动到上一步骤命令末尾,补充筛选条件,然后回车检查。
    如果出现错误或同预期结果不同,说明刚才输入语句有问题,修改后继续回车检查。
    2.3)补充筛选字段,具体操作类似上一步,光标移动到上一步骤命令末尾,补充筛选条件,然后回车检查。
    如果出现错误或同预期结果不同,说明刚才输入语句有问题,修改后继续回车检查。
    2.4)补充排序条件
    以上操作看似烦琐,实则不然:每次增加的部分不是全部SQL语句重新输入,而是在已经成功的命令行基础上予以修订和补充。上一步骤已经正确完成了,出现错误的话只能是本步骤操作失误造成的,修改增加部分即可。
    相反,由于初学者对SQL语法格式不熟悉,书写SQL语句巴不得一气呵成,一旦发生错误,往往会用大量时间去调试,反而欲速而不达。
    根据题目要求还可以继续补充:
    2.5)补充分组字段,增加groupby语句,查看能否正确分组,但这时一定注意,select*from表groupby分组字段弹出每一行记录除少数字段有意义外,因此最好随后修改显示字段
    2.6)在增加分组
    字段正确后,补充having条件
    2.7)最后补充其它信息,如top短语、intotable等短语等
    以下题为例采用循序渐进法予以说明:
    例:以表employee.dbf和orders.dbf中数据为基础,使用SQL命令检索订单数最多的前三名男职工的职工号、、订单数,检索结果按订单数降序存入表newcoun.dbf中。
    employee(职工号,,性别,年龄)
    orders(订单号,订购物品,订购单位,订购日期,职工号)
    分析:首先打开两表,发现两表属于1对多关系,一个职工对应多个订单。没有订单数字段,只能按照职工号分组然后通过COUNT计数后求出订单数量。
    操作:
    1)搭建框架,在命令窗口中输入基本框架:select*fromemployeeejoinordersoone.职工号=o.职工号
    2)补充筛选字段,光标移动到上一行末尾,补充为:select*fromemployeeejoinordersoone.职工号=o.职工号where性别="男"
    3)补充分组字段,光标移动到上一行末尾,补充为:select*fromemployeeejoinordersoone.职工号=o.职工号where性别="男"groupbye.职工号
    4)修改显示字段:selecte.职工号,,count(*)as订单数fromemployeeejoinordersoone.职工号=o.职工号where性别="男"groupbye.职工号
    5)没有having分组条件,补充top短语:selecttop3e.职工号,,count(*)as订单数fromemployeeejoinordersoone.职工号=o.职工号where性别="男"groupbye.职工号
    6)补充查询去向:selecttop3e.职工号,,count(*)as订单数fromemployeeejoinordersoone.职工号=o.职工号where性别="男"groupbye.职工号intotablenewcoun
    大家可以把这种方法推广到其它方面,也可在查询设计器中套用该方法。总之,操作不可急于求成,要按部就班,循序渐进。
    
    
    
    
  • 上一篇资讯: SQL语句获取特定日期
  • 下一篇资讯: SQL语句普通行列转换
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师