数据库原理与应用:第9章 单表查询.ppt

数据库原理与应用:第9章 单表查询.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

(3)确定集合IN取值表,NOTIN取值表取值表:用逗号分隔的一组取值[例12]查询成绩为85、86或88的记录。SELECT*FROMscoreWHEREdegreeIN(85,86,88)(3)确定集合[例13]查询成绩既不是85、86,也不是88的记录。SELECT*FROMscoreWHEREdegreeNOTIN(85,86,88)(4)字符串匹配[NOT]LIKE‘匹配串’[ESCAPE‘换码字符’]匹配串:固定字符串或含通配符的字符串当匹配串为固定字符串时:可以用=运算符取代LIKE谓词用!=或运算符取代NOTLIKE谓词例题1)匹配串为固定字符串[例14]查询学号为101的学生的详细情况。SELECT*FROMstudentWHEREsnoLIKE‘101等价于: SELECT*FROMstudentWHEREsno=‘101通配符%(百分号)代表任意长度(长度可以为0)的字符串例:a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab等都满足该匹配串_(下划线)代表任意单个字符例:a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串例题(续)2)匹配串为含通配符的字符串[例15]查询所有姓王学生的姓名、学号和性别。SELECTsname,sno,ssexFROMstudentWHEREsnameLIKE王%例题(续)[例16]查询姓“李”且全名为二个汉字的学生的姓名。SELECTsnameFROMstudentWHEREsnameLIKE李_例题(续)[例17]查询名字中第2个字为阳字的学生的姓名和学号。SELECTsname,snoFROMstudentWHEREsnameLIKE_阳%例题(续)[例18]查询所有不姓李的学生姓名。SELECTsnameFROMstudentWHEREsnameNOTLIKE‘李%ESCAPE短语:当用户要查询的字符串本身就含有%或_时,要使用ESCAPE换码字符短语对通配符进行转义。例题(续)3)使用换码字符将通配符转义为普通字符[例19]查询课程名为DB_Design课程的课程号和任课教师。SELECTcno,tnoFROMcourseWHEREcnameLIKEDB\_DesignESCAPE\例题(续)使用换码字符将通配符转义为普通字符(续)[例20]查询以DB_开头,且倒数第3个字符为i的课程的详细情况。SELECT*FROMcourseWHEREcnameLIKEDB\_%i__ESCAPE\(5)涉及空值的查询使用谓词ISNULL或ISNOTNULL“ISNULL”不能用“=NULL”代替[例21]某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。SELECTsno,CnoFROMscoreWHEREdegreeISNULL例题(续)[例22]查所有有成绩的学生学号和课程号。SELECTsno,cnoFROMscoreWHEREdegreeISNOTNULL(6)多重条件查询用逻辑运算符AND和OR来联结多个查询条件AND的优先级高于OR可以用括号改变优先级例题[例23]查询95033班且在’1975-01-01’后出生的学生姓名。SELECTsnameFROMstudentWHEREclass=95033ANDsbirthday1975-01-01改写[例10][例

文档评论(0)

胖鸥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档