- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
放在[ ] 中百分号 (%)、下划线 (_) 和左括号 ([) 等通配符也作常规字符处理,如: WHERE comment LIKE %30[%]%‘ select * from stu where 地址 like %[[]_]%‘ 如果使用的匹配字符中含有通配符,可以使用转义字符。在上例的最后一个查询语句中,在ESCAPE子句中,定义“b”为转义字符,这样,LIKE子句中紧跟字符“b”后面的字符被定义为匹配字符而不再是通配符。 外部连接(outer join) 1.左外部连接(left outer join) 不论第二个表中是否有匹配的纪录,结果中都包含第一个表中所有的行 2.右外部连接(right outer join) 不论第一个表中是否有匹配的纪录,结果中都包含第二个表中所有的行 3.完全外部连接(full outer join) 不论两个表中是否有匹配的纪录,结果中都包含两个表中所有的行 例: 查询所有学生选课的信息,要求对已选课的学生列出每个学生的基本情况及选课 情况,对未选课的学生只列出基本情况,其选课信息为空值. select student.*, student_course.* from student left outer join student_course on student.student_id=student_course.student_id select * from student_course group by course_id 不执行: select course_id from student_course group by course_id 聚合函数聚合函数对一组值执行计算并返回单一的值。除 COUNT 函数之外,聚合函数忽略空值。聚合函数经常与SELECT语句的GROUP BY子句一同使用,常用的聚合函数如表所示。 查询每一门课的间接先修课(既先修课的先修课) Select first.cno,Second.cpno From course first,course second Where first.cpno=second.cno * 5.3.1 多表查询 1. 连接查询的ANSI连接语法形式和SQL Server语法形式 ⑴ 用于FROM子句的ANSI连接语法形式 SELECT column_list FROM {table_name [join_type] JOIN table_name ON connection_condition} WHERE search_condition ANSI的语法形式中: ? FROM子句:通过JOIN子句给出连接时使用到的表名。 ? join_type:连接的类型:inner,left outer, right outer,full outer ? connection_condition:表与表之间的连接条件。 ? search_condition:表中行数据进入结果集所应满足的条件。 在ANSI标准中,连接的类型有如下三种: 内连接(INNER JOIN):内连接返回的结果集中只包括满足连接条件的行。 交叉连接(CROSS JOIN):交叉连接包括两个表中所有行的笛卡儿积。如一个表有10条记录,另如一个表有20条记录,交叉连接后将会产生200条记录。 外连接(OUTER JOIN):外连接除了包括满足连接条件的行外,还包括其中某个表的全部行。 SQL Server 2005中默认的连接方式是内连接。 * 5.3.2 使用UNION子句 UNION子句的作用是把两个或多个SELECT语句查询的结果组合成一个结果集。UNION子句的语法形式如下: Select_statement UNION [ALL] Select_statement […n] 使用UNION时,请注意以下4点: ① UNION中从源表选择的所有列表必须具有相同列数、相似数据类型和相同的列序。 ② 列名来自第一个SELECT语句。 ③ 如果希望整个结果集以特定的顺序出现,则UNION中应使用ORDER BY子句来指定对结果集的排序顺序,使用第一个SELECT语句中的列名。 ④ 在合并结果时,将从结果集中删除重复行。若使用ALL,结果集中包含所有的行。 * 【例5-15】用UNION子句将student表中学生的学号、姓名及teacher表中教师号、教师姓名组合在一个结果集中。 USE jwgl GO SELECT student_id , student_name FROM student UNION SELECT teacher_id , teacher_name FROM tea
文档评论(0)