6.1.2SQL语法规则 sQL作为数据库语言,有它自己的语法、语法结构,以及专有的语言 符号,不同的系统稍有不同差别,但主要的符号都相同。SQL语 法中定界符号及其规则含义如表6-2所示。 表62SQL符号及其规则含义 符号 含义 分隔括号或大括号内的语法项目,只能选一项 可选的语法项 必选的语法项 前面的项可重复n次,各项之间用逗号分隔 前面的项可重复n次,各项之间用空格分隔 <标签>语法块的名称,用于对过长语法或语法单元部分进行标记 <标签>∷=对语法中<标签>指定位置进行进一步的定义
6.1.2 SQL语法规则 SQL作为数据库语言,有它自己的语法、语法结构,以及专有的语言 符号,不同的系统稍有不同差别,但主要的符号都相同。SQL语 法中定界符号及其规则含义如表6-2所示。 表6-2 SQL符号及其规则含义 符号 含义 | 分隔括号或大括号内的语法项目,只能选一项 [ ] 可选的语法项 { } 必选的语法项 [ ,…n ] 前面的项可重复n次,各项之间用逗号分隔 [ …n ] 前面的项可重复n次,各项之间用空格分隔 <标签> 语法块的名称,用于对过长语法或语法单元部分进行标记 <标签> :: = 对语法中<标签>指定位置进行进一步的定义
6.1.3T-SQL语言概述 sQL语言是一种标准的数据库査询语言,而 Transact-SQL语言是 Sybase公司和 Micros公司联合开发,后来被 Microsoft公司移植 到 SQL Server中的一种SQL语言,简称T-SQL语言。它不仅包含了 SQL2的大多数功能,而且对SQL进行了一系列的扩展,增加了许 多新特性,增强了可编程性和灵活性。T-SQL语言主要包括以下几 部分: (1)数据定义语言:用来建立数据库、数据库对象和定义序列,大部 分是以 create开头的命令,如 Icreate database、 createⅵew等。 (2)数据操纵语言:用来操纵数据库中数据的命令,如 select、 insert、 update、 delete等。 (3)数据控制语言:用来控制数据库访问权限的许可、拒绝和撤销命 令,如 grant、 revoke、 commit、 rollback等。 (4)流程控制语言:用于设计应用程序的语句,如i, while,case等。 (5)其它语言要素:包括变量、运算符、函数和注释等
6.1.3 T-SQL语言概述 SQL语言是一种标准的数据库查询语言,而Transact-SQL语言是 Sybase公司和Microsoft公司联合开发,后来被Microsoft公司移植 到SQL Server中的一种SQL语言,简称T-SQL语言。它不仅包含了 SQL-2的大多数功能,而且对SQL进行了一系列的扩展,增加了许 多新特性,增强了可编程性和灵活性。T-SQL语言主要包括以下几 部分: (1)数据定义语言:用来建立数据库、数据库对象和定义序列,大部 分是以create开头的命令,如create database、create view等。 (2)数据操纵语言:用来操纵数据库中数据的命令,如select、insert、 update、delete等。 (3)数据控制语言:用来控制数据库访问权限的许可、拒绝和撤销命 令,如grant、revoke、commit、rollback等。 (4)流程控制语言:用于设计应用程序的语句,如if,while,case等。 (5)其它语言要素:包括变量、运算符、函数和注释等
62数据查询 数据査询是数据库中最重要、最常见的操作,也是 SQL语言的“灵魂”。所有查询都是通过 select 语句实现的,査询不会更改数据库中的数据,它 只为用户提供一个结果集。结果集是一个来源于 个或多个表中满足给定条件的行和列的数据集 合 62.1表中数据 6.2.2查询操作 6.2.3表中数据 624简单查询 6.2.5连接查询 6.2.6嵌套査询 627联合查询
6.2 数据查询 数据查询是数据库中最重要、最常见的操作,也是 SQL语言的“灵魂”。所有查询都是通过select 语句实现的,查询不会更改数据库中的数据,它 只为用户提供一个结果集。结果集是一个来源于 一个或多个表中满足给定条件的行和列的数据集 合。 6.2.1 表中数据 6.2.2 查询操作 6.2.3 表中数据 6.2.4 简单查询 6.2.5 连接查询 6.2.6 嵌套查询 6.2.7 联合查询
621表中数据 “班级”表数据见5.6.1节,“学生”表数据见 6.23节的图6-6,其它表数据内容分别如下: 1.课程表数据内容 课程表数据内容如图6-1所示。 2.教师表数据内容 教师表数据内容如图62所示
6.2.1 表中数据 “班级”表数据见5.6.1节,“学生”表数据见 6.2.3节的图6-6,其它表数据内容分别如下: 1.课程表数据内容 课程表数据内容如图6-1所示。 2.教师表数据内容 教师表数据内容如图6-2所示
621表中数据 表“课程”中的数据,位置是…回回区表“中的数份置是“中…回区图 课程号课程名称课程类型学时学分备注A口工号名性别出生日期」工作日期聊』茎本工婚否Δ p!计算机基础考查362Ml30赵文蝇1905192171副数报201 2程序设计考查362a 130102钱飞成男1962-5-19200-3-2教授31001 03c程序设计考试724wn 1300列艺女1950207÷1助教1300 04 SQL Server面试724m 1301李排91911911))1901 l6计算机网络考试362m 1302.周铁龙男1:09571副数201 06数据结构考试724MnL_01吴俊杰男1975201:171讲币2101 07W+程序设计考试644n 14010.国男195991901副投2001 08A程序设计考查684mn_:01王芳菲男192112062助教 09市场营销面试402M 0惠89191911投退 11企业管理学考试402y H-aon Rag s 1SH1 m i1 8 olD Ly 图6-1“课程“表 图6-2“教师”表数 数据 据
6.2.1 表中数据 图6-1 “课程“表 数据 图6-2 “教师”表数 据