资源描述:
《数据库原理及应用(第四章-SQL示例)2.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、查询指定列[例1]查询全体学生的学号与姓名。SELECTSno,SnameFROMStudent;[例2]查询全体学生的姓名、学号、所在系。SELECTSname,Sno,SdeptFROMStudent;查询全部列[例3]查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent;或SELECT*FROMStudent;查询经过计算的值SELECT子句的<目标列表达式>为表达式算术表达式字符串常量函数列别名等查询经过计算的值[例4]*查全体学生的姓名及其出生年份。
2、selectSname,2009-Sagefromstudent;输出结果:Sname2009-Sage----------------------李勇1976刘晨1977王名1978张立1978查询经过计算的值[例5]*查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。SELECTSname,'YearofBirth:',2009-Sage,LOWER(Sdept)FROMStudent;例题(续)输出结果:Sname'YearofBirth:'2009-SageLOWER(Sdept)-----
3、-----------------------------------------李勇YearofBirth:1976cs刘晨YearofBirth:1977is王名YearofBirth:1978ma张立YearofBirth:1977is选择表中的若干元组消除取值重复的行查询满足条件的元组1.消除取值重复的行在SELECT子句中使用DISTINCT短语假设SC表中有下列数据SnoCnoGrade---------------------95001192950012859500138895002290950023
4、80ALL与DISTINCT[例6]查询选修了课程的学生学号。(1)SELECTSnoFROMSC;结果:Sno-------9500195001950019500295002例题(续)(2)SELECTDISTINCTSnoFROMSC;结果:Sno-------9500195002例题(续)注意DISTINCT短语的作用范围是所有目标列例:查询选修课程的各种成绩错误的写法SELECTDISTINCTCno,DISTINCTGradeFROMSC;正确的写法SELECTDISTINCTCno,GradeFROMS
5、C;查询满足条件的元组WHERE子句常用的查询条件(1)比较大小在WHERE子句的<比较条件>中使用比较运算符=,>,<,>=,<=,!=或<>,!>,!<,逻辑运算符NOT+比较运算符[例7]查询所有年龄在20岁以下的学生姓名及其年龄。SELECTSname,SageFROMStudentWHERESage<20;或SELECTSname,SageFROMStudentWHERENOTSage>=20;(2)确定范围使用谓词BETWEEN…AND…NOTBETWEEN…AND…[例8]查询年龄在20~23岁(包括
6、20岁和23岁)之间的学生的姓名、系别和年龄。SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23;例题(续)[例9]查询年龄不在20~23岁之间(包括20岁和23岁)的学生姓名、系别和年龄。SELECTSname,Sdept,SageFROMStudentWHERESageNOTBETWEEN20AND23;(3)确定集合使用谓词IN<值表>,NOTIN<值表><值表>:用逗号分隔的一组取值[例10]查询信息系(IS)、数学系(MA)和计算机科学系(CS
7、)学生的姓名和性别。SELECTSname,SsexFROMStudentWHERESdeptIN('IS','MA','CS');(3)确定集合[例11]查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。SELECTSname,SsexFROMStudentWHERESdeptNOTIN('IS','MA','CS');(4)字符串匹配[NOT]LIKE‘<匹配串>’[ESCAPE‘<换码字符>’]<匹配串>:指定匹配模板匹配模板:固定字符串或含通配符的字符串当匹配模板为固定字符串时,可以用=运算符
8、取代LIKE谓词用!=或<>运算符取代NOTLIKE谓词通配符%(百分号)代表任意长度(长度可以为0)的字符串例:a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab等都满足该匹配串_(下横线)代表任意单个字符例:a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串ESCAPE短语:*当用户要查询的字符串