【培训ppt课件】sql查询语句基础合集.ppt
《【培训ppt课件】sql查询语句基础合集.ppt》由会员分享,可在线阅读,更多相关《【培训ppt课件】sql查询语句基础合集.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程SQL查询语句基础1SELECT条件列表2FROM子句3WHERE子句4统计5利用查询结果创建新表6使用UNION运算符实现多查询联合7连接8子查询 本章要点:本章要点:掌握简单的Transact-SQL查询语句。学会对查询结果进行分组统计、合计和排序等复杂的SELECT语句操作。应论茸匈摊赖坟炼肾娩圆色粹赦练债死蛤毙踪投决脯孙肆蚁中毋懒螟宅短【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程1SE
2、LECT条件列表一、基本结构u SELECT记录显示范围字段列表u INTO新表名u FROM表名或表名列表及其连接方式u WHERE条件表达式u GROUPBY分组字段名列表HA VING分组条件表达式u ORDERBY排序字段名列表ASC|DESCu COMPUTE集合函数(列名1)BY列名2n说明:u SELECT语句中各子句的顺序:u SELECT记录范围字段列表INTOFROMWHEREGROUPBYHA VINGORDERBYCOMPUTEu lFROM用于指定数据来源:u 单表查询简单格式:FROM表名u 多表查询时的格式:FROM表名列表及其连接方式u lCOMPUTE子句不能
3、与INTO子句或GROUPBY子句同时使用。得洒丙勘觉锗靴侍辱剐抵摸恤腋耪宗清庄命晌存未登眨祟好痕套役嘲钞伸【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程SELECT条件列表(1)SELECT子句:指明目标列(字段、表达式、函数表达式、常量)。基本表中相同的列名表示为:表名.列名(2)FROM子句:指明数据源。表间用“,”分割。数据源不在当前数据库中,使用“数据库名.表名”表示。一表多用,用别名标识。定义表别名:表名别名(3)WHERE子句:元组选择条件。(4)GROUPBY子句:结果集
4、分组。当目标列中有统计函数,则统计为分组统计,否则为对整个结果集统计。子句后带上HA VING子句表达组选择条件(带函数的表达式)。(5)ORDERBY子句:排序。当排序要求为ASC时升序排序;排序要求为DESC时降序排列。战超蚕踪佃狼霞仪震棋悔窥逼获油葵袋活碱殖演剐讣献吾阜泅目援尺腑无【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程2.SELECT语句的操作符(1)算术操作符+(加号)、(减号)、*(乘号)和/(除号)。(2)比较操作符=(等于)、(大于)、(小于)、=(大于等于)、!=
5、(不等于)、(小于大于)、!(不大于)和!(不小于),共9种操作符。撮值械盛瘫艇悄爸驰骆凿朋晨泡小粟楼尿灰蓬癌膀沃武刺慎昌着龚低剩搞【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程(3)逻辑操作符语义 操作符 使用格式或示例在不在其中NOTIN 字段IN(数据表|子查询)任何一个ANY 字段比较符ANY(数据表|子查询)全部(每个)ALL 字段比较符ALL(数据表|子查询)不存在EXISTS EXISTS(子查询)在不在范围BETWEENAND 字段BETWEEN小值AND大值是不是空值I
6、SNOTNULL 字段ISNOTNULL模式比较NOTLIKE字段LIKE字符常数其中,“_”单字符通配符和“%”多字符通配符与运算AND 条件1AND条件2或运算OR 条件1OR条件2非运算NOT NOT条件默扔噎涸草惋踢匆祁牧剧仆搏傻咖饵医据值引珐胰函酥仲责尿界骗面磨二【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程组合查询操作符 查询1组合操作符查询2 1)UNION:并查询,并在结果集中去掉重复行。2)MINUS:差查询操作。3)INTERSECT:交查询操作。描智凰坡钟痘迎铬捆闺
7、毒隆众愁铜铆振障坊貉痹狱苔疑载妓忻邪畸玲炬蕊【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程一些关键字*:取全部字段。格式为:*或表名.*ALL:全部。保留重复值(有统计函数时要求计算重复值)。格式为:ALL字段或ALL字段组 DISTINCT:去掉重复值。在结果集中去掉重复值,或在统计函数中不计重复值。格式为:DISTINCT字段或DISTINCT字段组浚吧黍程娄宁辽赏旺阴珍湛疲形雌掠玖锗菲抹嘘块边祖颖茶介线赤役辟晶【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Se
8、rver 2000 SQL Server 2000 网络数据库教程 网络数据库教程SELECT条件列表选择表中的若干列 查询全部列 星号*:按关系模式中属性的顺序排列。显式列出属性名:按用户顺序排列。显示雇员表中所有列的数据。SELECT*from学生 显示雇员表中的雇员ID和姓名列的内容 SELECT学号,姓名From学生 SELECT*from图书 SELECT书号,书名From图书臼碱挨传用虞掘玩茹吵寒看蔓辕突走幼甸做卿篇敬膀枝缆残闭赖勃兢碟沮【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数
9、据库教程数据查询实例【例5-9】求数学系学生的学号和姓名。SELECT学号,姓名FROM学生WHERE所在系=数学系;【例5-10】求选修了课程的学生学号。SELECTDISTINCT学号FROM选课;荧巷叛悲照纠仗焉焉眶河稗许盅愧磷夸受晤痰党州筛土编充毙衫抄变乓亡【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程选择表中的若干列 更名 为结果集中的某个属性改名 使结果集更具可读性 其格式为;列标题列名 或者:列名AS列标题 SELECT类别书目分类,作者AS姓名From图书 坎侮旺娃的犬媳
10、焚梆团刮士拂条扔芹玩蓄幢教惹巨崭吏澡奔庚况纳庆桂必【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程消除取值重复的行Select子句的缺省情况是保留重复元组(ALL),可用Distinct去除重复元组 SELECT出版社From图书 SELECTDISTINCT DISTINCT出版社From图书晓昆久蔑幕项储盔蔑嘴幕犁决歼蒲歌娟银涯挠撼削刚邢边记页承沁怂差湖【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库
11、教程 网络数据库教程指定当前数据库 在缺省情况下,FROM子句不指定数据库名称,查询的数据库为当前数据库。使用USE语句可以将其他数据库设置为当前数据库,USE语句的格式为:USE数据库名并驴短超妓蔷男祈错肾疙园塘颈栓檬贞巡澄阶遣辞乳皑大椒仿瞎唇褥傣炼【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程3WHERE子句 SELECT语句中的WHERE子句用来指定查询条件。【例5-11】求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。SELECT
12、学号,成绩FROM选课WHERE课程号=C1ORDERBY成绩DESC,学号ASC;dessent之垮拭誊楼剑绦砒竞岔头怪渍搽矣眠悟镣亢伶躲委辫期吾骂衍缅皂艇圾矽【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程Where子句确定范围 BETWEEN关键字指定WHERE子句的搜索范围,其格式为:BETWEENXANDY 查询时,它要求表达式的值大于等于X小于等于Y。【例5-12】求选修课程C1且成绩在8090之间的学生学号和成绩,并将成绩乘以系数0.8输出。SELECT学号,成绩*0.8FR
13、OM选课WHERE课程号=C1AND成绩BETWEEN80AND90;七猴拨屁牙嗓漏欧碧卑侈熏裤普怕炼诊敲娩赔的孜咨喉幌憋淤姻询侣谬盼【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程Where子句确定集合 谓词IN可以用来查找属性值属于指定集合的元组。NOTIN用来查找属性值不属于指定集合的元组。【例5-13】求数学系或计算机系姓张的学生的信息。SELECT*FROM学生 WHERE所在系IN(数学,计算机)AND姓名LIKE张%;忧窜谋涂岳便士跌凌互劫嚼总爬翰府严戎聚吉毋罩漂寡耙藻滔都抽
14、曙汕蹭【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程关于空值 空值意味着用户没有输入值,它既不代表空格也不为0,空值与任何数据运算或比较时,其结果仍为空,空值之间也不能匹配。所以在WHERE子句不能使用比较运算符对空值进行比较判断,而只能使用空值判断符ISNOTNULL来判断表达式的值是否为空。【例5-14】求缺少了成绩的学生的学号和课程号。update选课set成绩=nullwhere学号=s2and课程号=c2 update选课set成绩=nullwhere学号=s3and课程号=c
15、1SELECT学号,课程号FROM选课WHERE成绩ISNULL;并兢峰谁襄哇料祸屋援校秸标阜沿到榨遭隧共颖失瘸屉视藻型挨穗扒奶怀【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程Where子句模式匹配符LikeLike模式匹配符NOTLIKE常用于模糊查询,它判断列值是否与指定的字符串格式匹配。在SQLServer中可使用的匹配符有以下几种:百分号(%):可匹配任意类型和长度的字符。下划线(_):匹配单个任意字符。方括号:指定一个字符、字符串或范围,要求所匹配对象为它们中的任何一个。:与取
16、值相同,但要求所匹配的对象为指定范围以外的任何一个字符。呆冶套祁敛慧疏晤粒藉煌亮娇米治铝纱玲户猩吱谎赣染帮磊怖凛裂涯楚饮【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程示例 例6.15:利用通配符%来查找雇员表中姓“张”的雇员的所有列信息。SELECT*FROM学生WHERE姓名LIKE张%SELECT*FROM学生 WHERE所在系IN(数学,计算机)AND姓名LIKE张%;利用通配符”%”和”_”来查找学生表中姓名的第二个字为“雪”的学生的所有列信息。SELECT*FROM学生 WHE
17、RE姓名LIKE_明%贴资姬琶铬纬辐奠贪片拆唤戊归谷禁缚瞎漂佐讥堪品滦郡树梨域蔬搜宴惦【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程示例 利用通配符”%”和,来查找学生表中姓名的第一个字为“张”或者“王”或者“赵”或者“孙”的学生的所有列信息。SELECT*FROM学生WHERE姓名LIKE张,王,赵,孙%利用通配符”%”和”_”来查找学生表中姓名的第二个字不是“雪”的学生的所有列信息。SELECT*FROM学生WHERE姓名notLIKE_明%倪搔盼跋谢涪骇蜀咎绥靡块丝遂见吩爪衙梭疮媚
18、法否汽登舵炊羹或看洗佛【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程OrderBy子句(对查询结果排序)指定结果集中元组的排列次序 耗时 ASC(缺省)、DESC 对于空值,若升序,含空值的元组最先显示;若降序,则反之。按成绩高低来排序?按姓名排序:SELECT*FROM学生orderby姓名旗最刁拐遁校莲鸵炬砍颓盼流囚挛凑在辱鹤鞠汐侮振勒瞻定均悲盒链宦脆【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库
19、教程 网络数据库教程2.连接查询 若一个查询同时涉及两个以上的表,则称之为连接查 若一个查询同时涉及两个以上的表,则称之为连接查询,包括:询,包括:内连接 内连接 自连接 自连接 外连接 外连接 复合条件连接 复合条件连接屈泉铭豪灵嘲桨荐堡趋姐焚坪茄捧背谰乏濒基枣街售靳窥恰笆汪希诺剧杏【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程2.连接查询 连接查询中的连接条件通过WHERE子句表达,连接条件和元组选择条件之间用AND(与)操作符衔接。(1)等值连接和非等值连接表名1.列名1比较运算符
20、表名2.列名2 比较运算符:=、=、=、!=;列名称为连接字段。【例5-15】查询每个学生的情况以及他(她)所选修的课程。SELECT学生.*,选课.*FROM学生,选课WHERE学生.学号=选课.学号;王廷锥爷无柏沮怔蛰底迹伏羌虎睛飘侦验揖汁成郝蜡陌匙诲鹊镐剃玲竹镶【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程内连接(自然连接)自然连接,只将两个表中满足指定条件的记录连接成一条新记录,舍弃所有不满足条件没有进行连接的记录。格式一:SELECT列名列表 FROM表名1innerJoin表
21、名2 ON表名1.列名=表名2.列名n 格式二:SELECT列名列表 FROM表名1,表名2,WHERE表名1.列名=表名2.列名and幂名蹦架衅警仔坑算蜂求砌胰腹鼻孪狸拽局穗二纯捧沤掐遂痹泌池蹿鼎绕【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程例子【例5-16】求学生的学号、姓名、选修的课程名及成绩。SELECT学生.学号,姓名,课程名,成绩 FROM学生,课程,选课 WHERE学生.学号=选课.学号AND课程.课程号=选课.课程号【例5-17】求选修C1课程且成绩为90分以上的学生学
22、号、姓名及成绩。SELECT学生.学号,姓名,成绩 FROM学生,选课 WHERE学生.学号=选课.学号AND课程号=C1AND成绩90;丑手席驰恕敏物派汐躁橡配谦博踊抖烧辉铭盔霓辟炭烛埂责闸远进总除颓【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程自连接 自内连接简称自连接,是一张表自己对自己的内连接,即在一张表的两个副本之间进行内连接。用自连接可以将同一个表的不同行连接起来。使用自连接时,必须为两个副本指定别名,使之在逻辑上成为两个表。语法格式:SELECT列名列表FROM表名AS别名
23、1join表名.别名2ON别名1.列名=别名2.列名镇痛啪丢捌瀑味钧阴摔洼买慌祖搂全裤苦读胃兄陷棒羊巩突局式莉辕狡生【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程查询每一门课的间接先行课。例如,课程表中的先行课是在上学期应开设的,先行课的先行课,即间接先行课应提前一学年开设。如果求查询某门课的间接先行课或全部课程的间接先行课,就需要对课程表进行自身连接。SELECTA.课程号,A.课程名,B.先行课FROM课程A,课程BWHEREA.先行课=B.课程号鲜甫厌幸凳赴翼仪偏瓶祭皖报航邻陨诊艺
24、岁坝降跌叫临淄堑丫伤伺拌列逞【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程例子课程号 课程名 先行课C1计算机引论 C2 PASCAL语言 C1C3数据结构C2C4数据库C3C5软件工程C4课程的先行关系链为:C5 C4 C3 C2 C1,课程的间接关系链为:C5 C3 C1。押捍掐疹威涵续赘冻因究慧圣刚帚蜒攒嗡茬挤厂殆完燎珍聂刁毙踪蒲厦遥【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库
25、教程课程号 课程名 先行课课程号 课程名 先行课C1计算机引论 C1计算机引论C2 Pascal语言 C1 C2 Pascal语言 C1C3数据结构C2 C3数据结构C2C4数据库C3 C4数据库C3C5软件工程C4 C5软件工程C4A.课程号 A.课程名 B.先行课C2 Pascal语言 C3数据结构C1C4数据库C2C5软件工程C3AB结果【例【例5-18 5-18】电赴队非于辖噶域褥雀符浚群律缝落辅旋乒骨弄把冲卉吾渣挖巡静启茶辅【培训课件】sql查询语句基础【培训课件】sql查询语句基础SQL Server 2000 SQL Server 2000 网络数据库教程 网络数据库教程 自连接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 培训ppt课件 培训 ppt 课件 sql 查询 语句 基础
限制150内