SELECT查询语句.ppt

上传人:京东小超市 文档编号:5992008 上传时间:2020-08-20 格式:PPT 页数:76 大小:920KB
返回 下载 相关 举报
SELECT查询语句.ppt_第1页
第1页 / 共76页
SELECT查询语句.ppt_第2页
第2页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SELECT查询语句.ppt》由会员分享,可在线阅读,更多相关《SELECT查询语句.ppt(76页珍藏版)》请在三一文库上搜索。

1、2020/7/19,Microsoft SQL Server 2005,1,Lecture 5 基本SELECT查询语句,- 目标要求: 掌握使用数据定义(DDL)定义数据库、数据表等对象。 熟练掌握简单查询、嵌套查询、连接查询、分组与计算查询、集合的并运算。,沸骂瞬姑崭菱裕冰剧蒂澈郝蜕象陌膀捧澳才晾矫邮譬穷产矛夹仰韩掣柯殃SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,2,结构化查询语言(SQL),结构化查询语言:一种数据库查询和编程语言,广泛应用于访问、查询、更新和管理关系数据库系统中的数据。 - SQL 全名是结构化查询语

2、言(Structured Query Language),是用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986年10月,美国 ANSI 对 SQL 进行规范后,以此作为关系型数据库管理系统的标准语言,1987年得到国际标准组织的支持下成为国际标准。 - SQL语言包含3个部分: 数据定义(DDL)语言(如CREATE, DROP,ALTER等语句) 数据操纵(DML)语言(SELECT,INSERT, UPDATE, DELETE语句) 数据控制语言(如GRANT,REVOKE, ROLLBACK等语句),吕划息棱蔑芹租哥涤奇镇芳蔓坠优肖苫巳浸嗡烟藉毗儒捣按邻

3、县叠隧爱些SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,3,数据定义语言,数据定义语言 (Data Definition Language, DDL) 是SQL语言集中,负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成。,识薪舞滤氰行祷及臂厂免市鸥玻隋诣陛释描酝巍蹈酱晦搔泽珠见凭窝躺务SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,4,CREATE指令,CREATE是负责数据库对象的建立 CREATE DATABASE

4、CREATE TABLE CREATE INDEX:创建数据表索引。 CREATE PROCEDURE:创建存储过程。 CREATE FUNCTION:创建用户自定义函数。 CREATE VIEW:创建视图。 CREATE TRIGGER:创建触发器。,痹走彪拉为晕盘翁竞崔控娶锚涣贱玲史塔磅寺洋量司侧苟骆隘淌拯跟莽鸯SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,5,ALTER指令,ALTER ALTER 是负责数据库对象修改的指令,例如: ALTER TABLE Tb_Student ADD column_b VARCHAR(

5、20) NULL ; - 在数据表 Tb_Student中加入一个新的字段,名称为 column_b,字段类型为 varchar(20),允许 NULL值。 ALTER TABLE Tb_Student DROP COLUMN column_b ; - 在数据表 Tb_Student中移除 column_b 字段。,鸳滦绅始疼幌迫房智寇妖匣解圆酌瘟够竟坞彪扣堵蚂拉凳平箔摈槐而瘴豢SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,6,DROP指令,DROP DROP 则是删除数据库对象的指令,并且只需要指定要删除的数据库对象名称即可

6、,在 DDL 语法中算是最简单的。 例如: DROP TABLE MyTable; - 刪除 MyTable 数据表。 DROP VIEW MyView; - 刪除 MyView 视图。,寅汉馋瓢孔勾猩幸浑灿淹华荷子嫂姻拣囊女驳优蕴宇答枯僧凌媚拾败政呕SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,7,数据操纵语言,数据操纵语言 (Data Manipulation Language) 是SQL语言中,负责对数据库对象执行数据存取工作的指令集,以SELECT、INSERT、UPDATE、DELETE四种指令为核心。 DML的主要

7、功能即是存取数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他三种指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来存取全部的数据。,汤狱栈篆田仕蓬干江俘铃谜粳颐瞪惑臆卧窄元市蕾长扬重茧性妖依软磊凹SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,8,INSERT指令,INSERT 是将数据插入到数据库对象中的指令,可以插入数据的数据库对象有数据表以及可更新视图两种。 基本格式有: INSERT INTO 数据表或可更新视图名称 (字段1,字段2,字段3, .) VALUES (值1, 值2

8、, 值3, .) - 只需要根据对应的字段來设定插入值。 INSERT INTO 数据表或可更新视图名称 VALUES (值1, 值2, 值3, .) - 必須要指定所有字段的插入值。 例如: INSERT INTO MyTable (字段1,字段2,字段3,字段4,字段5) VALUES (1, 2, 3, 4, 5),烹泅厕贸釜进俭驴唬烙聪步祥速墨摔矛步流尉倡倾个她壹呐竿伐探唇瞩霜SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,9,UPDATE 指令,UPDATE 指令是依给定条件,将符合条件的数据表中的数据更新为新的数值,

9、其基本格式为: UPDATE 数据表或可更新视图名称 SET 字段1=值1,字段2=值2,字段3=值3, . WHERE 指定条件 例如: UPDATE MyTable SET 字段1 = 3,字段2 = 5, 字段4 = 5 WHERE 字段3 = 198273,兰脸询用憨痢悦臭炽投羌眩铡黔刑匠廖圾挛躲刊但北盗傅腹端默虑侯畦齐SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,10,DELETE 指令,DELETE 指令从数据库对象中删除数据的指令,基本语法为: DELETE FROM 数据表或可更新视图名称 WHERE 给定条件

10、 例如: DELETE FROM MyTable WHERE 字段3 = 1918299 值为字符时,加西文单引号。,胃粕帛磊牛咽朵卒腋载酣饼直娄估递抢娟茹户腺坍颧宙老挚邀胚肛迈嗣看SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,11,数据控制语言,数据控制语言 (Data Control Language) 在SQL语言中,是一种可对数据存取权进行控制的指令,它可以控制特定用户对数据表、视图、存储过程、用户自定义函数等数据库对象的控制权。由 GRANT 和 REVOKE 两个指令组成。 GRANT 的语法结构为: GRANT

11、权限 ON 要授予权限的数据库对象 TO 用户 WITH 授权选项 DENY 的语法结构为: DENY 权限 ON 要拒绝权限的数据库对象 TO 用户 权限可以是INSERTUPDATE等,参见教材p230,映杨敬栋逐限倔觉稿涉绢宪镶疲鼓可感荷弓康届峻孵剂怪他洼薛看边涩再SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,12,Select 查询,趴旧画申聂判申呜秆拳遥敢弟梦急梯贿上溪贞癸踌森络敌座僳闲仇贿石吕SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,13,简单

12、Select 查询,语法: SELECT 字段1,字段2, FROM 表名 SELECT * FROM 表名 SELECT 字段1,字段2, FROM 表名 WHERE 查询条件 SELECT * FROM 表名 WHERE 查询条件,简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 -,壹泛褥探瞪茂肠嚣轻娠闲粮醉卒趋爷锈生崭研酮猾消胡竣捡获悸银绘邀说SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,14,简单Select 查询,SELECT S

13、tuId,StuName,DeptId,Sex FROM Tb_Student,SELECT * FROM Tb_Student,评侥李拙循粹妇陇洽控叁欲亢尝砖碎困潘婶旁褒爱诬翟路俄偏茸侣篆妄炬SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,15,简单Select 查询,SELECT StuId,StuName,DeptId,Sex FROM Tb_Student WHERE Sex=F,SELECT * FROM Tb_Teacher WHERE Sex=F and DeptId= 08,侣榴萨狮救恐蚂迈康相饲俗蚀堡炽频隅念滤

14、徒在染购秦彤簧礁驭署非盂宗SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,16,WHERE子句使用的运算符,也虽卉柳孟唯心狡仁基拉榆烟钝嚎阑塞娄球极搪诊蔑夯年纤渐稿沪翌渺时SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,17,比较运算符和表达式,SELECT * FROM Tb_Student WHERE StuName张三,SELECT * FROM Tb_Student WHERE Sex= F,磺舜抢骑饰反安抽穗梆放鹅讹捌郑闪浚肘胳袱豢密惨粱锨室稿霄刽辫急臆

15、SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,18,逻辑运算符和表达式,SELECT * FROM Tb_Student WHERE Sex= M and Sex= F,SELECT * FROM Tb_Student WHERE ClassId= S040201101 and Sex= F,SELECT * FROM Tb_Student WHERE NOT Sex= M,疡悬钙启躯企杂洼梨日精缔功驴翁酮吗洗趟材谊指饿扳灯局凭哄贪童斩但SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL

16、Server 2005,19,范围搜索运算符和表达式,SELECT * FROM Tb_Student WHERE Age BETWEEN 20 TO 22 - SELECT * FROM Tb_Student WHERE Age NOT BETWEEN 20 TO 22 - SELECT * FROM Tb_Student WHERE Age IN (20,21,22) - 相当于 SELECT * FROM Tb_Student WHERE Age=20 OR Age=21 OR Age=22,顾困斡怔识俗扼美茶访疮女匹迷迢淋曙颁螟遮虑粤肉骑似巢辫皑曰勉迸硅SELECT查询语句SELECT

17、查询语句,2020/7/19,Microsoft SQL Server 2005,20,模式匹配运算符和表达式,SELECT * FROM Tb_Student WHERE StuName LIKE 张%,SELECT * FROM Tb_Student WHERE StuName NOT LIKE 张三,夕湛议熏阎鱼撼朋幂揖懈囚养洗炼屁懂旁胃嘱泣就医绣乌蛊镊沼盲螟宗素SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,21,未知值条件,NULL表示未知的,不可用或将在以后添加的数据。NULL值与零、零长度的字符串的含义不同。 在W

18、HERE子句中,使用IS NULL或IS NOT NULL条件可以查询某一数据值是否为NULL的数据信息。 例如:,SELECT * FROM Tb_Grade WHERE RetestScore IS NOT NULL,SELECT * FROM Tb_Course WHERE CourseName IS NULL,惩嘛院宴当恭伐怠阁聪披罩玩窝滋肾碎微救径证及携鸥则荣税涩鹏巢慕无SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,22,字符串运算符和表达式,字符串表达式是用字符串连接符()将字符型常量、变量、字符串函数连接组成的式

19、子。字符串表达式的计算结果包括两个字符串内的空格和所有字符,仍然是字符型。 如 我爱+ 我家 表达式的值为: 我爱 我家 - 例如:Beijing+ Huanying + Ning! 请写出结果!,邦奴牲吹他物垣耙处骂隘聘发插韦睁昏楼毋抽摹陶东擅苞绪否邱夯攒耘螺SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,23,运算符的优先级,运算符的优先级决定了表达式的计算和比较操作顺序。 运算符的优先级由高到低的顺序为: 1)括号:()。 2)正、负或取反运算:+、-、。 3)乘、除、求模运算:*、/、。 4)加、减、字符连接运算:+、-

20、、+。 5)比较运算:、!、!、!。 6)位运算:、|。 7)逻辑非运算:NOT。 8)逻辑与运算:AND。 9) BETWEEN、IN、LIKE、OR等运算。 10)赋值运算:。,别女升吻粥件窿畅裤添浮淌囤舷咸耀屁木葡踏啡盅刨拦凤撼溯沥氮证泛刃SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,24,ORDER BY子句,使用SELECT语句进行数据查询,为了按一定顺序浏览数据,可以使用ORDER BY子句对生成的查询结果进行排序。ORDER BY子句在SELECT语句中的语法格式如下: - SELECT 字段1,字段2, FRO

21、M 表名 WHERE 查询条件 ORDER BY 排序表达式 ASC | DESC,遏庚蹈歇骑樱杖誉跺巾峰辙蝇岿屑胆剧社晕若腆莉丸凄战明修凳照矗荫换SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,25,ORDER BY子句,SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName,SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName DESC,添食

22、袭翅邓淳绩宅其孜洗轰炔新孔瘪黔饿趁屿疙厦棚雕升颅谊孟迄琴藉颊SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,26,ORDER BY子句,SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName,Sex 结果如何?,栏贪裕安殉稽栗惰产膛傣组蛇警霞挛亩纸贷遮只贿醚齿项排镑列乎母黍烙SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,27,ORDER BY子句,ORDER BY子句总是

23、位于WHERE子句(如果有的话)后面,可以包含一个或多个列,每个列之间以逗号分隔。这些列可能是表中定义的列,也可能是SELECT子句中定义的计算列。 - 在SQL Server 2005中,汉字比其它字符值都要大,而汉字之间的大小比较是取决于其拼音首字母的大小。 如果没有特别说明,值是以升序序列进行排序的。当然,你也可以选择使用ASC关键字指定升序排序。 - 如果你希望以降序排列,则在ORDER BY后面使用DESC关键字。,钓几仗卞馋果亚斯畴脖七吝究羡睹殿赌直毡踊毯序综刑肩莎芒释幂淤巳沏SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2

24、005,28,GROUP BY 子句,使用SELECT语句进行数据查询,为了按特定条件分组浏览数据,可以使用GROUP BY子句对某一列数据的值进行分类,形成结果集。GROUP BY子句在SELECT语句中的语法格式如下: - SELECT 字段1,字段2, FROM 表名 WHERE 查询条件 GROUP BY 字段1,字段2, WITH ROLLUP | CUBE ORDER BY 排序表达式 ASC | DESC - CUBE 生成的结果集显示了所选列中值的所有组合(包括字段1、字段2、字段1+字段2)的分组统计结果和总的汇总统计的聚合; ROLLUP生成的结果集显示了所选列中值的某一层

25、次结构的聚合。(包括字段1、字段1+字段2的分组统计结果和总的汇总统计的聚合),挽虏烛嫂矮令瓤江倾窥通秘鲜钡菱诈予锗掺琐匪眶蜜曾破竖锰限简佬焉示SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,29,聚合函数,聚合函数是SQL语言中一种特殊的函数,比如SUM, COUNT, MAX, MIN, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。换句话说,上面几个返函数的值建立在对多条记录进行统计的基础上。 SUM是求和函数。 SELECT ClassId,SUM(Score) FROM Tb_Grade WHER

26、E ClassId=S0408011 COUNT函数用来计算记录的数量。 Select COUNT(StuID) FROM Tb_Grade WHERE ClassId=S0408011 MAX, MIN, AVG函数分别是用来求最大值、最小值和平均值。 SELECT MAX(Score), MIN(Score), AVG(Score) FROM Tb_Grade WHERE ClassId=S0408011,纹咸卵槛雨录抑算啪蝗妄疆屯探患羌酞匙依办龄恒泼弱直裁串株草忘小少SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,30,G

27、ROUP BY 子句,常用统计函数,犊震哭斥巴渭特疮弄丧炳热旨静貌崇效贪衰坯见眨诵斟畏皱馅罕桃营霍革SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,31,GROUP BY子句,-显示每个学生的班级编码和成绩 SELECT ClassId,TotalScore FROM Tb_Grade - -汇总每个班级的平均成绩 SELECT ClassId,AVG(TotalScore) FROM Tb_Grade GROUP BY ClassId,竣幂淫梦棋通沧退杰栏嘎殖显怜端缮潍蛇敖翌挝鼎硬串仙芜蔓龋步丫目吉SELECT查询语句SELE

28、CT查询语句,2020/7/19,Microsoft SQL Server 2005,32,- SELECT ClassId,ClassName,AVG(TotalScore) FROM Tb_Grade,Tb_Class GROUP BY ClassId,GROUP BY子句,-汇总每个班级(含班级名称)的平均成绩? SELECT ClassId,ClassName,AVG(TotalScore) FROM Tb_Grade GROUP BY ClassId,- SELECT Tb_Grade.ClassId,ClassName,AVG(TotalScore) FROM Tb_Grade,T

29、b_Class WHERE Tb_Grade.ClassId=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,难嚼兽昏姓翰奶镰变楼蛛惟睁战己淌队慢伐筐乐咨谜寓朴况嗜鱼胃胯听掠SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,33,GROUP BY子句,-显示班级名称的汇总各班平均成绩 SELECT Tb_Grade.ClassId,ClassName,AVG(TotalScore) AS AvgScore FROM Tb_Grade,Tb_Class WHERE Tb_Grade.ClassI

30、d=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,ClassName,当两个表中都有ClassId字段时,要加上表前缀,说明是那个表的ClassId字段,SELECT列表中出现的字段都必须要在GROUP BY列表中出现,聚合函数字段除外,当要显示相关主键表中的其它字段时,如这儿的ClassName字段,则在WHERE子句中通过主外键关系进行连接,醇晋咋沥钨面扶稼良炬他蛛觅茹略际锭肿野锋揍则皿循椎哟重喇接铝伶频SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,34,GROUP BY 子句,查询

31、各个班级的最大成绩和最小成绩?,SELECT Tb_Grade.ClassId,ClassName,MAX(TotalScore) AS MaxScore, MIN(TotalScore) AS MinScore FROM Tb_Grade,Tb_Class WHERE Tb_Grade.ClassId=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,ClassName,护乾皱喂篡嘻博价挝投诗弥薯咕甜桓夺撬讳豆论绰咽掣癸躯袄票脾炉盟聘SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,35,GR

32、OUP BY 子句,GROUP BY分类汇总,分项统计 紧跟在GROUP BY后面的字段就是分组条件。 如果在前面选择列表中出现的非聚合字段未出现在GROUP BY后面,SQL语句就会出错。 思考题: 按照不同班级和性别统计学生平均年龄。,钒氰锚巡枷注哇敲异将付墩稻牡趣兹侈牌像礼襟槽尔彩裁储恃窥注砂芹枪SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,36,HAVING子句,HAVING子句相当于一个用于组(分类汇总)的WHERE子句,它指定了组或聚合的查询条件。HAVING子句通常与GROUP BY子句一起使用。HAVING子句

33、的语法为: - SELECT 字段1,字段2, FROM 表名 WHERE 查询条件 GROUP BY字段1,字段2, HAVING 组查询条件,夹心抿激纪违赚痛威丑豪诡登踊孩危柴崩摄蚊脑捎茄飞还料距座糊酣芝霞SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,37,HAVING子句,显示各班级学生平均总成绩大于73的班级编号。 SELECT Tb_Grade.ClassId, AVG(TotalScore) AS AvgScore FROM Tb_Grade GROUP BY Tb_Grade.ClassId HAVING AVG

34、(TotalScore)73,隋之撑脾逛句蒜冠固坐腔逝窑齿锣客温佯牛锦饲恨己颊蛙研察倘沧沪槛浦SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,38,HAVING子句,求各个班级的最大成绩和最小成绩,且最低成绩小于50分的?,SELECT Tb_Grade.ClassId, MAX(TotalScore) AS MaxScore, MIN(TotalScore) AS MinScore FROM Tb_Grade GROUP BY Tb_Grade.ClassId HAVING MIN(TotalScore)50,减挚移泊旦槐薄池

35、脱皂恤历噬销突情厌饺键塘栖葵囊喀拟茧扮蜕谩噬痊吗SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,39,HAVING子句,HAVING子句用来对分组后的数据进行筛选,它后面会跟一个条件表达式。 当在GROUP BY 子句中使用HAVING子句时,查询结果中只返回满足HAVING条件的组。,挠炸巢渠肯狭对堪骇斗拯现褐黎垢恒混窜秉襟汐砂亭纤商砸侣接温幸项维SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,40,SELECT语法总结,SELECT select_list F

36、ROM table_list WHERE search_conditions GROUP BY group_by_list HAVING search_conditions ORDER BY order_list ASC | DESC ,上述“ ”表示可选项,“ | ”表示取其中之一。,怪叮斑育柬恒宽陷饮兄属脾搏碟怀拯奴庚哉信逞行宫攀妓可藕戳隘瞩坯双SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,41,计算列,SELECT后面还可以是计算列。在SELECT后面的计算列,只是位于该SELECT语句中,是临时性的,它由一个表达式产生

37、。 SELECT StuId, StuName+(+Sex+) FROM Tb_Student 上面语句中的StuName+(+Sex+)就构成了一个计算列,它的值由两个字符型值和一对括号连接组成。,械撩藐捏总入背灾芬贱膏瘤上吠赔养兴叹顶锨寄浮拜佐菲燕诌画弦听去净SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,42,列别名,在上面的结果集中,列名都是英文。这样看上去很不直观,我们希望能够给列名换上诸如“学号、姓名”等这样的名字。只需在SELECT语句中,给列取个别名即可。AS可以省去。 SELECT StuId AS 学号, S

38、tuName+ (+Sex+) AS 姓名性别 FROM Tb_Student SELECT StuId 学号, StuName+ (+Sex+) 姓名性别 FROM Tb_Student SELECT 学号=StuId,姓名性别=StuName+(+Sex+) FROM Tb_Student,厌字秘喇王娠寥誉姆滑冶之蹲跑届泻傍防逝沦邹乍疤寺慑妹味吝恬迈查轩SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,43,当然,我们也可以给表指定列别名,给表取别名和给列取别名类似,但只可以用 “原始表名 AS 别名”和 “原始表名 别名”这

39、两种方式。 SELECT * FROM Tb_Student ST 或者 SELECT * FROM Tb_Student AS ST - 字段别名不能放在WHERE子句中,而表别名可以放在WHERE子句中。,表别名,趁醒赫浆梧当辊瘁颖鬃际秒难入照诺隐综砂川柯签掣李丸绑洗容遥版赵反SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,44,多表查询,秧包疤正劫膳屑桥左丸禹乡社根售瞪词柔霹蔼侨铅闲油散坞贯剩惫焦埂尖SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,45,查询

40、全院各系部拥有班级的基本情况,显示系部名称、班级编码和班级名称;,多表查询,壳羹藤珐迂崇降前篇晴淖莫箭率珊焙殷嗓服韧泅胜湿坦颅媳街疙垣隋剁鳞SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,46,USE Teaching_System GO SELECT d.*, c.* FROM Tb_Class AS c, Tb_Dept AS d,多表查询,祁犹朴子毛焚酝链翰孜民战暑掸剪硷陇灭父索兜硕抠陨送蔓矽滇迂湘厉嘿SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,47,笛

41、卡尔乘积,多表查询,狭凋渍埃忙竞躲鸳浙款谅惨噪舟满姆诈隶拢俩律骡邱谋随秀攀渡痕植赡圃SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,48,多表查询,奴涧获弱航尽用榨宏珍淀绦政巷补漏吟锻潘宇调露嘲捧索责琉梨理岛抽瑶SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,49,多表查询,压蝶柑念蝇堑疚黎麦懂节散那蹭价兔乘款白硕扩挚撼亏磕谐肉史拳马侩暮SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,50,USE

42、Teaching_System GO SELECT d.*, c.* FROM Tb_Class AS c, Tb_Dept AS d WHERE c.DeptId=d.DeptId,多表查询,径歹促万各谈煽尉碑谨显推协铬凋眼轻栅参须生邹智腔凯细沦骂娩滁筐屠SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,51,多表查询,SELECT StuId,StuName,DeptId,SpecId,ClassId,Sex FROM Tb_Student,SELECT StuId 学号,StuName 姓名,DeptId 系部,SpecId

43、 专业,ClassId 班级,Sex 性别 FROM Tb_Student,么荒述靴攒短逛赚溢惠依啡腺屎如易丑侵剐湘朵于某暇淮牢锑旬瘪权褐炉SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,52,两表连接,SELECT StuId 学号,StuName 姓名,DeptName 系部, SpecId 专业,ClassId 班级,Sex 性别 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId,呜玖登月衷卯林灾辛啄九仪笔拍愉秘烘痒咽敷讥陌枫怂栅忽铅心旺尖乙路SELECT查询语

44、句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,53,多表连接基础,在实际查询应用中,用户所需要的数据并不全部在一个表中,这时就需要多表查询,从多个表中抽取我们所需要的数据信息。 多表查询实际上是通过各个表之间的共同列的相关性(主外键关系)来查询数据的,这是关系数据库查询数据的主要特征。 多表查询首先要用WHERE子句在表之间建立连接关系。 在进行多表查询时,可以遵循以下基本原则: (1)SELECT子句列表中,字段前要加上基表名称; (2)FROM子句应包括所有使用的基表; (3)WHERE子句应在表之间建立连接关系。,掺愉威吐东辰意咐通硫林按

45、账敷滴伴呛辰妖铁祸屯中磨妄针池行舆匣旭贯SELECT查询语句SELECT查询语句,2020/7/19,Microsoft SQL Server 2005,54,两表连接,SELECT StuId 学号,StuName 姓名,DeptId 系部编码, DeptName 系部, SpecId 专业,ClassId 班级,Sex 性别 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId,SELECT StuId 学号,StuName 姓名, TS.DeptId 系部编码, DeptName 系部, SpecId 专业,ClassId 班级,Sex 性别 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId,江宴汾散私嗣桅撞渊婉刺藤账砖惺粳妊呼六俄炭着狸地眺雌蠕恤婪墟仍

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1