数据库知识第一课select语句基础_第1页
数据库知识第一课select语句基础_第2页
数据库知识第一课select语句基础_第3页
数据库知识第一课select语句基础_第4页
数据库知识第一课select语句基础_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一课:Select语句基础服务工程师为何要学习数据库?

快捷数据查询

账套数据维护

其它数据库或数据表的应用数据库应用维护存在问题:

使用工具单一

编写脚本语句复杂繁锁学习要点1.1 数据类型1.2 简单Select语句1.3 常用运算符1.4 常用函数(一)计算机单位常识位:bit字节:Byte 1Byte=8bit,1K=1024Byte,1M=1024K,1G=1024M字符 单字节字符=1字节,双字节字符=2字节 如:英文字母和数字属单字节字符,中文字属双字节字符数据类型类型名称含义整数型int从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据smallint从-2^15(-32,768)到2^15-1(32,767)的整数数据tinyint从0到255的整数数据浮点型numeric从-10^38+1到10^38–1的固定精度和小数位的数字数据float从-1.79E+308到1.79E+308的浮点精度数字real从-3.40E+38到3.40E+38的浮点精度数字字符型char固定长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符varchar可变长度的非Unicode数据,最长为8,000个字符text可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符nchar固定长度的Unicode数据,最大长度为4,000个字符nvarchar可变长度Unicode数据,其最大长度为4,000字符ntext可变长度Unicode数据,其最大长度为2^30-1(1,073,741,823)个字符数据类型类型名称含义日期和时间型datetime从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒smalldatetime从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟图形型image可变长度的二进制数据,其最大长度为2^31-1(2,147,483,647)个字节货币型money货币数据值介于-2^63(-922,337,203,685,477.5808)与2^63-1(+922,337,203,685,477.5807)之间布尔型bit1或0的整数数据数据类型关键字类型举例类型表名字段名b布尔型bitGL_accouch(凭证及明细账)bdelete(是否核销)i整数型smallintGL_accouch(凭证及明细账)ibook(记账标识)浮点型floatRdRecords(收发记录子表)iQuantity(数量)c字符型varcharGL_accouch(凭证及明细账)Cbill(制单人)s/mentextfa_Depreciations(折旧方法)sDeprRateFormula(月折旧率计算公式)d日期和时间型datetimeGL_accouch(凭证及明细账)Dbill_date(制单日期)m货币型moneyGL_accouch(凭证及明细账)Md(借方金额)obj图形型imagefa_VtsObject(样式文件对象)objVtsfile(样式文件数据)SelectSELECTselect_listFROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][ORDERBYorder_expression[ASC|DESC]]Select--SELECT子句注:1、列以逗号分隔2、列名不能重复SELECT[ALL|DISTINCT][TOPn]|{column_name|expression}[[AS]column_alias]Select--FROM子句注:一般都需要FROM子句,除非选择列表只包含常量、变量和算术表达式SELECTselect_listFROMtable_name[[AS]table_alias]Select--WHERE子句注:搜索条件是使用逻辑运算符AND、OR和NOT的一个或更多谓词的组合SELECTselect_listFROMtable_source[WHERE<search_condition>]Select--GROUP子句注:选择列表中任一非聚合表达式内的所有列都应包含在GROUPBY列表中,或者GROUPBY表达式必须与选择列表表达式完全匹配SELECTselect_listFROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression[,...n]Select--ORDERBY子句注:ORDERBY子句可包括未出现在此选择列表中的项目,然而,如果指定SELECTDISTINCT则排序列必定出现在选择列表中SELECTselect_listFROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][ORDERBYorder_expression[ASC|DESC]]运算符--算术运算符运算符含义+(加)加法-(减)减法*(乘)乘法/(除)除法%(模)除法的整数余数加(+)和减(–)运算符也可用于对datetime

及smalldatetime

值执行算术运算算术运算符在两个表达式上执行数学运算,这两个表达式可以是数字数据类型分类的任何数据类型运算符--比较运算符运算符含义=等于>大于<小于>=大于等于<=小于等于<>不等于!=不等于!<不小于!>不大于比较运算符的结果有布尔数据类型,它有三种值:TRUE、FALSE及UNKNOWN比较运算符测试两个表达式是否相同。除了text、ntext

或image数据类型的表达式外,比较运算符可以用于所有的表达式运算符--逻辑运算符运算符含义AND如果一系列的比较都为TRUE,那么就为TRUEOR如果两个布尔表达式中的一个为TRUE,那么就为TRUEIN如果操作数等于表达式列表中的一个,那么就为TRUELIKE如果操作数与一种模式相匹配,那么就为TRUEBETWEEN如果操作数在某个范围之内,那么就为TRUEIN\LIKE\BETWEEN前加NOT取反逻辑运算符对某个条件进行测试,以获得其真实情况。逻辑运算符和比较运算符一样,返回带有TRUE或FALSE值的布尔数据类型运算符--优先等级 +(正)、-(负) *、/ +、- =、>、<、>=、<=、<>、!=、!>、!< AND BETWEEN、IN、LIKE、OR =(赋值)表达式表达式是符号与运算符的组合简单的表达式可以是一个常量、变量、列或标量函数,可以用运算符将两个或更多的简单表达式联接起来组成复杂的表达式函数函数分类解释字符串函数对字符串(char或varchar)输入值执行操作,返回一个字符串或数字值日期和时间函数对日期和时间输入值执行操作,返回一个字符串、数字或日期和时间值数学函数对作为函数参数提供的输入值执行计算,返回一个数字值转换函数将某种数据类型的表达式转换为另一种数据类型聚合函数对一组值操作,但返回单一的汇总值字符串函数函数名功能LEFT返回从字符串左边开始指定个数的字符RIGHT返回字符串中从右边开始指定个数的字符LEN返回给定字符串表达式的字符(而不是字节)个数LTRIM删除起始空格后返回字符表达式RTRIM截断所有尾随空格后返回一个字符串SUBSTRING返回字符、binary、text或image表达式的一部分REPLACE用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式字符串函数--LEFT语法 :LEFT(character_expression,

integer_expression)返回类型

varchar参数character_expression

字符或二进制数据表达式,可以是常量、变量或列integer_expression

是正整数功能 :返回从字符串左边开始指定个数的字符字符串函数--RIGHT语法 :RIGHT

(character_expression,

integer_expression)返回类型

varchar参数character_expression

字符或二进制数据表达式,可以是常量、变量或列integer_expression

是正整数功能 :返回从字符串右边开始指定个数的字符字符串函数--LEN语法 :LEN(string_expression)

返回类型

int参数string_expression

要计算的字符串表达式功能 :返回给定字符串表达式的字符(而不是字节)个数字符串函数--LTRIM语法 :LTRIM(character_expression)返回类型

varchar参数character_expression

字符或二进制数据表达式,可以是常量、变量或列功能 :删除起始空格后返回字符表达式字符串函数--RTRIM语法 :RTRIM(character_expression)返回类型

varchar参数character_expression

字符或二进制数据表达式,可以是常量、变量或列功能 :截断所有尾随空格后返回一个字符串字符串函数--REPLACE语法 :REPLACE('string_expression1','string_expression2','string_expression3')参数'string_expression1'

待搜索的字符串表达式'string_expression2'

待查找的字符串表达式'string_expression3'

替换用的字符串表达式功能 :用第三个表达式替换第一个字符串表达式中出现的所有第二个给定 字符串表达式字符串函数--SUBSTRING语法 :SUBSTRING(expression,

start,

length)参数expression

是字符串、二进制字符串、text、image、列或包含列的表达式start

是一个整数,指定子串的开始位置length

是一个整数,指定子串的长度功能 :返回字符、binary、text或image表达式的一部分返回类型

如果expression

是支持的字符数据类型,则返回字符数据。如果 expression是支持的binary数据类型,则返回二进制数据。日期和时间函数函数名功能DAY返回代表指定日期的天的日期部分的整数MONTH返回代表指定日期月份的整数YEAR返回表示指定日期中的年份的整数日期和时间函数–

DAY\MONTH\YEAR语法 :DAY\MONTH\YEAR(

date)参数date

是返回datetime

或smalldatetime

值或日期格式字符串的表达式功能 :返回表示指定日期中的日\月\年的整数返回类型

int数据函数函数名功能ABS返回给定数字表达式的绝对值语法 :(numeric_expression)

转换函数函数名功能CHAR将intASCII代码转换为字符的字符串函数STR由数字数据转换来的字符数据转换函数–

CHAR语法 :CHAR(integer_expression)功能 :将intASCII代码转换为字符的字符串函数返回类型

char(1)参数integer_expression

介于0和255之间的整数控制字符值制表符CHAR(9)换行符CHAR(10)回车CHAR(13)转换函数–

STR语法 :STR(float_expression[,length[,decimal]])

功能 :由数字数据转换来的字符数据返回类型

char参数float_expression

是带小数点的近似数字(float)数据类型的表达式length

是总长度,包括小数点、符号、数字或空格。默认值为10decimal

是小数点右边的位数聚合函数函数名功能AVG平均值MAX最大值MIN最小值COUNT数量SUM和聚合函数经常与SELECT语句的GROUPBY子句一同使用聚合函数语法 :AVG([ALL|DISTINCT]expression)注:1、SUM和AVG函数只作用于数据类型列值2、对于字符列,查找排序序列的最大值3、除COUNT函数之外,聚合函数忽略空值参数ALL

对所有的值进行聚合函数运算。ALL是默认设置。DISTINCT

指定每个唯一值都被考虑第一课Select语句基础课堂练习题计算机单位常识2G的U盘大该可以存储多少本书?(一本书虚拟容量为:10万中文字,5千个字符)512Kb/m的带宽理论上10M的文件需多少分钟才能传送完毕?数据类型凭证借方金额:gl_accvouch表md列业务单据数量:rdrecords表iNum列暂估结算单暂估处理标识单据表头自定义项4:rdrecords表cDefine4列Select功能查询科目表所有记录表和字段科目表:codeSQL语句select*fromcodeSelect--SELECT子句功能查询科目表都有科目类型(中文)表和字段科目表:code 科目类型:cclassSQL语句selectdistinctcclassfromcodeSelect--SELECT子句功能查询最发货单主表前5条记录表和字段发货单主表:DispatchListSQL语句selecttop5*fromDispatchListSelect--SELECT子句功能查询客户的信用额度,信用额度以X.X万样式反映,结果集样式为(单位)、客户编码、客户简称、信用额度:单位万(注:单位列值万)表和字段客户档案表:customer 客户编码:cCusCode|客户简称:cCusName|信用额度:iCusCreLineSQL语句selecttop5*fromDispatchListSelect--SELECT子句功能求3除2的模运算SQL语句select3%2as值Select--FROM子句功能查询存货档案的一级二级三级批发价,结果集样式为存货编码、存货名称、一级批发价、二级批发价、三级批发价SQL语句selecta.cInvCodeas存货编码,a.cInvNameas存货名称,iInvSCost1as一级批发价,iInvSCost2as二级批发价,iInvSCost3as三级批发价fromInventoryasa表和字段客户档案表:Inventory 存货编码:cInvCode\存货名称:cInvName\一级批发价:iInvSCost1\二级批发价:iInvSCost2\三级批发价:iInvSCost3Select--WHERE子句功能查询固定资产是否第一次运行的记录SQL语句select*fromaccinformationwherecName='bFirstTime'andcsysid='fa'表和字段账套参数表:accinformation 项目名称:cName\系统标识:csysidSelect--WHERE子句功能查询收发记录主表期初业务记账人为空的记录,cVouchType值33期初暂估单,34期初结存SQL语句select*fromRdRecordWhere(cVouchType='33'orcVouchType='34')andcAccounterisnull表和字段收发记录主表:RdRecord 单据类型:cVouchType\记账人:cAccounterSelect--GROUP子句功能按仓库、存货、批号、自由项1、自由项2统计库存总账表期初数量和件数SQL语句selectcWhCode,cInvCode,cBatch,cFree1,cFree2,sum(iBeginQuantity),sum(ibeginnum)fromST_TotalAccountgroupbycWhCode,cInvCode,cBatch,cFree1,cFree2表和字段库存总账:ST_TotalAccount 仓库:cWhCode\存货:cInvCode\批号:cBatch\自由项1:cFree1\自由项2:cFree2\期初数量:iBeginQuantity\期初件数:ibeginnumSelect--ORDERBY子句功能查询收发记录主表中001仓库的所有业务单据记录并分别以单据号和日期降序排序(不包含期初,cVouchType<>34)SQL语句select*fromrdrecordwherecWhCode='001'andcVouchType<>34orderbycCodedesc,dDatedesc表和字段收发记录主表:rdrecord 仓库:cWhCode\单据类型:cVouchType\单据号:cCode\日期:dDate运算符--逻辑运算符功能查找营业费用科目(5501)的所有下级科目编码和名称(注:包含营业费用科目)SQL语句selectccode,ccode_namefromcodewhereccodelike'5501%'表和字段科目表:code 科目编码:ccode\科目名称:ccode_name运算符--逻辑运算符功能查找所有姓王或姓张并且姓名长度为两中文字的职员编码和名称SQL语句selectcPersonCode,cPersonNamefromPersonwherecPersonNamelike'[王张]_'表和字段职员档案:Person 职员编码:cPersonCode\职员名称:cPersonName运算符--逻辑运算符功能查找工资项目以数字、‘(’开头的记录SQL语句select*fromWA_GZNameListwherecUsualNamelike'[(0-9]%'表和字段工资项目参照表:WA_GZNameList 项目名:cUsualName运算符--逻辑运算符功能查找客户档案中扣率不在0到100之间的客户记录SQL语句select*fromCustomerwhereiCusDisRatenotbetween0and100表和字段客户档案:Customer 扣率:iCusDisRate运算符--逻辑运算符功能查找仓库编码为001、002、006的所有业务单据主表记录SQL语句select*fromRdRecordwherecWhCodein('001','002','006')表和字段收发记录主表:Rdrecord 仓库编码:cWhCode字符串函数--LEFT功能查询凭证明细表中所有由核算模块供应商往来生成凭证的记录(coutno_id列前两位为AP)SQL语句select*fromgl_accvouchwhereleft(coutno_id,2)='AP'表和字段凭证及明细账表:gl_accvouch 外部凭证业务号:coutno_id字符串函数--RIGHT功能列出收发记录主表001仓库单据号后8位字符,并且后8位字符由降序排序(不包含期初,单据类型不等于34和35)SQL语句selectright(ccode,8)fromrdrecordwherecVouchTypenotin(34,35)andcWhCode='001'orderbyright(ccode,8)desc表和字段收发记录主表:rdrecord 业务类型:cVouchType/仓库:cWhcode/单据号:ccode字符串函数--LEN功能查找科目表科目编码长度信息(列出不同的长度值)SQL语句selectdistinctlen(ccode)fromcode表和字段科目表:code 科目编码:ccode字符串函数–

UPPER/LOWER功能列出所有存货代码以大写样式和小写样式表记的存货记录,结果集格式为存货名称、存货代码大写、存货代码小写SQL语句selectcinvNameas存货名称,UPPER(cinVaddcode)as存货代码大写,Lower(cinVaddcode)as存货代码小写frominventory表和字段存货表:inventory 存货名称:cinvName/存货代码:cinVaddcode字符串函数--REPLACE功能将账套参数表里项目描述中包含的‘帐’字显示出来,显示结果集为:错误描述,正确描述(指‘帐’字统一替换为‘账’显示)SQL语句selectccaptionas错误描述,REPLACE(ccaption,'帐','账')as正确描述fromaccinformationwhereccaptionlike'%帐%'表和字段账套参数表:accinformation 项目描述:ccaption字符串函数--SUBSTRING功能返回职员档案的职员的都有哪些姓氏和名字,记录集格式为:姓名\姓氏\名字(假定姓氏只有一位)SQL语句selectcPersonname姓名,SUBSTRING(cPersonname,1,1)姓氏,SUBSTRING(cPersonname,2,len(cPersonname)-1)名字fromperson表和字段职员表:person 姓名:cPersonname日期和时间函数–

DAY\MONTH\YEAR功能查询收发记录主表2007年每月1号的所有记录SQL语句select*fromRdRecordwhereYear(dDate)=2007andDay(dDate)=1表和字段收发记录主表:RdRecord 日期:dDate转换函数–

CHAR功能输出打印客户编号为001的客户,输出要求的格式为编码:XXX简称:XXX联系人:XXXSQL语句select'编码:'+ccuscode+CHAR(10)+'简称:'+ccusabbname+CHAR(10)+'联系人:'+ccuspersonas客户档案fromcustomerwhereccuscode='001'表和字段客户档案:customer 编码:ccuscode/简称:ccusabbname/联系人:ccusperson转换函数–

STR功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论