初级应用-sql server2008管理及维护修正-05v_第1页
初级应用-sql server2008管理及维护修正-05v_第2页
初级应用-sql server2008管理及维护修正-05v_第3页
初级应用-sql server2008管理及维护修正-05v_第4页
初级应用-sql server2008管理及维护修正-05v_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第五章T-SQL语句基础——理论部分SQLServer中常见的数据类型有哪些?创建标识符列需要指定哪些内容?如何限定某一个字段的取值范围?Delete和TruncateTable有何区别?课程回顾理解T-SQL的组成掌握Select语法结构掌握条件查询掌握分组查询会对查询结果排序掌握多表查询技能展示本章结构Select语法结构T-SQL语句基础查询举例SQL和T-SQLSQL简介使用T-SQL查询数据表达式使用T-SQL实现多表查询内连接表连接类型外连接T-SQL的组成SQL(结构化查询语言)关系数据库的标准语言SQLServer、Oracle、DB2非过程化语言不需要指定对数据的存放方法统一的语言创建、修改以及删除数据对象(数据库、表等)SQL和T-SQLT-SQLSQL的加强版,提供了类似于程序语言的基本功能变量说明、流程控制、功能函数DML:数据操纵语言查询、插入、删除和修改数据SELECT、INSERT、UPDATE、DELETEDDL:数据定义语言建立数据库、数据库对象和定义其列CREATE、ALTER、DROPDCL:数据控制语言

控制数据库组件的存取许可、存取权限等GRANT、REVOKET-SQL的组成Select语法结构

参数解释SELECT子句:指定查询内容INTO子句:把查询结果存放到一个新表中FROM子句:指定查询源WHERE子句:查询条件GROUPBY子句:指定查询结果的分组条件HAVING子句:指定分组搜索条件,与GROUPBY子句一起使用ORDERBY子句:指定查询结果的排序方式T-SQL中的查询SELECTselect_list[INTOnew_table_name]FROMtable_name[WHEREsearch_conditions][GROUPBYgroup_by_expression][HAVINGsearch_conditions][ORDERBYorder_expression[ASC|DESC]]条件表达式常量:表示单个指定数据值的符号字母、数字或符号列名:表中列的名称一元运算符:仅有一个操作数的运算符“+”表示正数,“-”表示负数二元运算符:将两个操作数组合执行操作的运算符算术运算符、位运算符、逻辑运算符、比较运算符条件表达式举例表达式2-1PRICE>20,表示满足大于20的PRICE值

PRICE<>20,表示满足不等于20的PRICE值PRICEBetween10And20,表示满足大于等于10并且小于等于20的PRICE值NAMELike'李%',表示满足NAME姓名字段里姓李的所有姓名运算符含义=等于>大于<小于>=大于或等于<=小于或等于<>不等于!=不等于BETWEEN指定值的包含范围(包含边界)。使用And分隔开始值和结束值IS[Not]NULL指定是否搜索空值或非空值LIKE模糊查询,与指定字符串进行模式匹配IN是否在数据范围里面比较运算符逻辑表达式用逻辑运算符将条件连接起来,运算结果是一个逻辑值TRUE或FALSE逻辑表达式举例付款方式为信用卡,并且只能是牡丹卡、金穗卡或龙卡表达式2-2运算符含义AND组合两个条件,并在两个条件都为True时取值为TrueOR组合两个条件,并在两个条件之一为True时取值为TrueNOT和其他操作符一起使用,取反的操作逻辑运算符付款方式=‘信用卡’and信用卡in(‘牡丹卡’,‘金穗卡’,‘龙卡’)查询表中所有列查询student表中的所有学生信息查询表中特定列查询student表中姓名、所在班级、成绩列的内容查询列SELECT*FROMtable_nameselect*fromstudentSELECTcolumn_name_1,column_name_2,...FROMtable_nameselect姓名,所在班级,成绩fromstudent语法结构查询student表中2班的名叫刘婷的学生查询特定行SELECTselect_listFROMtable_nameWHEREsearch_conditionsselect*fromstudentwhere姓名='刘婷'and所在班级=2查询student表中成绩在90到100的所有学生select*fromstudentwhere成绩between90and100查询student表中姓刘的所有学生select*fromstudentwhere姓名like'刘%'查询student表中备注不为空的所有学生select*fromstudentwhere备注isnotnull语法结构参数解释TOP关键字用来限制查询返回的行数,n为需要返回的行数查询student表中前5行的数据查询返回限制的行数SELECTTOPnselect_listFROMtable_nameselecttop5*fromstudent语法结构参数解释AS子句用来改变结果集列的名称查询student表中姓名和身份证号两列数据改变查询结果集列名称SELECTcolumn_nameAScolumn_aliasFROMtable_nameselect姓名asname,身份证号asidcardfromstudent语法结构参数解释ASC:升序DESC:降序查询student表中学生信息,按照成绩从高到低显示结果查询结果排序SELECTselect_listFROMtable_nameORDERBYcolumn_name[ASC|DESC]select*fromstudentorderby成绩desc用于对一组值执行计算,并返回单个值如求总和、平均值、最大或最小值等SUM:求总和查询student表中所有学生的总成绩聚合函数selectSUM(成绩)总成绩fromstudentAVG:求平均数查询student表中所有学生的平均成绩selectAVG(成绩)平均成绩fromstudentMAX和MIN:返回最大最小值查询student表中所有学生中的最高分和最低分selectMAX(成绩)最高分,MIN(成绩)最低分fromstudentCOUNT:返回非空值的计数查询student表中所有行数selectCOUNT(*)总行数fromstudent语法结构参数解释GROUPBY子句对查询结果进行分组HAVING子句指定分组搜索条件查询student表中每个班级的总成绩分组查询SELECTselect_listFROMtable_nameGROUPBYcolumn_name

HAVINGsearch_conditionsselect所在班级,SUM(成绩)AS总成绩fromstudentgroupby所在班级查询student表中总成绩大于200的班级select所在班级,SUM(成绩)AS总成绩fromstudentgroupby所在班级HAVINGSUM(成绩)>200WHERE子句和HAVING子句的区别WHERE子句在分组之前过滤数据,条件中不能包含聚合函数HAVING子句在分组之后过滤数据,条件中经常包含聚合函数语法结构参数解释INTO子句把一个表中的数据经过筛选插入到另一个表中将student表的数据插入到新表student_bak中将student表中2班的学生信息保存到表student_2中插入数据SELECTselect_listINTOnew_table_nameFROMtable_nameselect*intostudent_bakfromstudentselect*intostudent_2fromstudentwhere所在班级=2请思考T-SQL包含哪几部分?数据操作语言包含哪些?AND和OR有什么区别?哪个关键字可以对查询结果进行排序?常见的聚合函数有哪些?WHERE子句和HAVING子句有什么区别?小结内连接(INNERJOIN)只返回两个数据集合之间匹配关系的行外连接左外连接(LEFTJOIN)结果集包括左表的所有行右外连接(RIGHTJOIN)结果集包括右表的所有行完整外连接(FULLJOIN)返回左表和右表中的所有行交叉连接返回左表与右表挨个连接的所有行表连接类型在表A和表B中查询用户的毕业学校和职业在Where子句中指定连接条件内连接selectA.name姓名A,A.school学校A,B.name姓名B,B.job职业BfromA,BwhereA.name=B.name表A表B在FROM子句中使用INNERJOIN…ON子句selectA.name姓名A,A.school学校A,B.name姓名B,B.job职业BfromAinnerjoinBonA.name=B.name查询表A中所有用户的毕业学校和职业左外连接查询左外连接和右外连接表A表BselectA.name姓名A,A.school学校A,B.name姓名B,job职业BfromAleftjoinBonA.name=B.name左外连接查询结果右外连接查询selectA.name姓名A,A.school学校A,B.name姓名B,job职业BfromArightjoinBonA.name=B.name右外连接查询结果查询表B中所有用户的毕业学校和职业查询表A和表B中所有用户的毕业学校和职业完整外连接查询完整外连接表A表BselectA.name姓名A,A.school学校A,B.name姓名B,job职业BfromAfulljoinBonA.name=B.name完整外连接查询结果本章总结Select语法结构T-SQL语句基础查询举例SQL和T-SQLSQL简介使用T-SQL查询数据表达式使用T-SQL实现多表查询内连接表连接类型外连接T-SQL的组成第五章T-SQL语句基础——上机部分实验环境已安装SQLServer2008企业版在数据库class下已创建表products需求描述查询出厂日期晚于2011年4月的水果信息分别查询所有水果、蔬菜、坚果的总成本查询所有水果的信息,按照成本从高到低的顺序显示结果查询成本在1到5元之间的蔬菜信息将水果名称、种类和出厂日期信息插入到表products_new实验案例一:单表查询2-1实现思路新建查询,选择数据库class实验案例一:单表查询2-2select*fromproductswhere种类='水果'and出厂日期>'2011-04-30'select种类,SUM(成本)总价格fromproductsgroupby种类select*fromproductswhere种类='水果'orderby成本descselect*fromproductswhere种类='蔬菜'and成本between1and5select名称,种类,出厂日期intoproducts_newfromproductswhere种类='水果'40分钟完成学员练习实验环境已安装SQLServer2008企业版在数据库class下已创建表products和表sales需求描述查询产品的名称、种类、成本、销售地点和销售价格查询销往海南的产品名称、种类、成本和销售价格查询销往北京的蔬菜名称、种类、成本和销售价格实验案例二:多表查询2-1实现思路新建查询,选择数据库class实验案例二:多表查询2-2selecta.名称,a.种类,a.成本,b.销售地点,b.销售价格fromproductsasainnerjoinsalesasb

温馨提示

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

评论

0/150

提交评论