SQL语句大全实例

上传人:豆浆 文档编号:37133711 上传时间:2018-04-07 格式:DOC 页数:12 大小:120.50KB
返回 下载 相关 举报
SQL语句大全实例_第1页
第1页 / 共12页
SQL语句大全实例_第2页
第2页 / 共12页
SQL语句大全实例_第3页
第3页 / 共12页
SQL语句大全实例_第4页
第4页 / 共12页
SQL语句大全实例_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《SQL语句大全实例》由会员分享,可在线阅读,更多相关《SQL语句大全实例(12页珍藏版)》请在金锄头文库上搜索。

1、SQL 语句实例语句实例 表操作表操作 例例 1 对于表的教学管理数据库中的表对于表的教学管理数据库中的表 STUDENTS ,可以定义如下:,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, 0) NOT NULL SNAME CHAR (8) NOT NULL AGE NUMERIC(3,0) SEX CHAR(2) BPLACE CHAR(20) PRIMARY KEY(SNO) 例例 2 对于表的教学管理数据库中的表对于表的教学管理数据库中的表 ENROLLS ,可以定义如下:,可以定义如下: CREATE TABLE ENROLLS (SN

2、O NUMERIC(6,0) NOT NULL CNO CHAR(4) NOT NULL GRADE INT PRIMARY KEY(SNO,CNO) FOREIGN KEY(SNO) REFERENCES STUDENTS(SNO) FOREIGN KEY(CNO) REFERENCES COURSES(CNO) CHECK (GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100) 例例 3 根据表的根据表的 STUDENTS 表,建立一个只包含学号、姓名、年龄的女学生表。表,建立一个只包含学号、姓名、年龄的女学生表。 CREATE TABLE GIRL AS

3、 SELECT SNO, SNAME, AGE FROM STUDENTS WHERE SEX= 女 ; 例例 4 删除教师表删除教师表 TEACHER 。 DROP TABLE TEACHER 例例 5 在教师表中增加住址列。在教师表中增加住址列。 ALTER TABLE TEACHERS ADD (ADDR CHAR(50) 例例 6 把把 STUDENTS 表中的表中的 BPLACE 列删除,并且把引用列删除,并且把引用 BPLACE 列的所有视图和列的所有视图和 约束也一起删除。约束也一起删除。 ALTER TABLE STUDENTS DROP BPLACE CASCADE 例例 7

4、 补充定义补充定义 ENROLLS 表的主关键字。表的主关键字。 ALTER TABLE ENROLLS ADD PRIMARY KEY (SNO,CNO) ; 视图操作(虚表)视图操作(虚表) 例例 9 建立一个只包括教师号、姓名和年龄的视图建立一个只包括教师号、姓名和年龄的视图 FACULTY 。 ( 在视图定义中不能包在视图定义中不能包 含含 ORDER BY 子句子句 ) CREATE VIEW FACULTY AS SELECT TNO, TNAME, AGE FROM TEACHERS 例例 10 从学生表、课程表和选课表中产生一个视图从学生表、课程表和选课表中产生一个视图 GRA

5、DE_TABLE , 它包括学生姓名、它包括学生姓名、 课程名和成绩。课程名和成绩。 CREATE VIEW GRADE_TABLE AS SELECT SNAME,CNAME,GRADE FROM STUDENTS,COURSES,ENROLLS WHERE STUDENTS.SNO ENROLLS.SNO AND COURSES.CNO=ENROLLS.CNO 例例 11 删除视图删除视图 GRADE_TABLE DROP VIEW GRADE_TABLE RESTRICT 索引操作索引操作 例例 12 在学生表中按学号建立索引。在学生表中按学号建立索引。 CREATE UNIQUE IN

6、DEX ST ON STUDENTS (SNO,ASC) 例例 13 删除按学号所建立的索引。删除按学号所建立的索引。 DROP INDEX ST 数据库模式操作数据库模式操作 例例 14 创建一个简易教学数据库的数据库模式创建一个简易教学数据库的数据库模式 TEACHING_DB ,属主为,属主为 ZHANG 。 CREATE SCHEMA TEACHING_DB AUTHRIZATION ZHANG 例例 15 删除简易教学数据库模式删除简易教学数据库模式 TEACHING_DB 。(。( 1 )选用)选用 CASCADE ,即当,即当 删除数据库模式时,则本数据库模式和其下属的基本表、视

7、图、索引等全部被删除。(删除数据库模式时,则本数据库模式和其下属的基本表、视图、索引等全部被删除。( 2 )选用)选用 RESTRICT ,即本数据库模式下属的基本表、视图、索引等事先已清除,才能删,即本数据库模式下属的基本表、视图、索引等事先已清除,才能删 除本数据库模式,否则拒绝删除。)除本数据库模式,否则拒绝删除。) DROP SCHEMA TEACHING_DB CASCADE 单表操作单表操作 例例 16 找出找出 3 个学分的课程号和课程名。个学分的课程号和课程名。 SELECT CNO, CNAME FROM COURSES WHERE CREDIT 3 例例 17 查询年龄大于

8、查询年龄大于 22 岁的学生情况。岁的学生情况。 SELECT * FROM STUDENTS WHERE AGE 22 例例 18 找出籍贯为河北的男生的姓名和年龄。找出籍贯为河北的男生的姓名和年龄。 SELECT SNAME, AGE FROM STUDENTS WHERE BPLACE 河北 AND SEX 男 例例 19 找出年龄在找出年龄在 20 23 岁之间的学生的学号、姓名和年龄,并按年龄升序排序。岁之间的学生的学号、姓名和年龄,并按年龄升序排序。 (ASC (升序)或(升序)或 DESC (降序)声明排序的方式,缺省为升序。(降序)声明排序的方式,缺省为升序。 ) SELECT

9、 SNO, SNAME, AGE FROM STUDENTS WHERE AGE BETWEEN 20 AND 23 ORDER BY AGE 例例 20 找出年龄小于找出年龄小于 23 岁、籍贯是湖南或湖北的学生的姓名和性别。(条件比较运算符岁、籍贯是湖南或湖北的学生的姓名和性别。(条件比较运算符 、 和逻辑运算符和逻辑运算符 AND (与),此外还可以使用的运算符有:(大于)、(与),此外还可以使用的运算符有:(大于)、 (大于等于)、(小于等于)、(不等于)、(大于等于)、(小于等于)、(不等于)、 NOT (非)、(非)、 OR (或)(或) 等。等。 谓词谓词 LIKE 只能与字符串

10、联用,常常是只能与字符串联用,常常是 “ 列名列名 LIKE pattern” 的格式。特殊字符的格式。特殊字符 “_” 和和 “%” 作为通配符。作为通配符。 谓词谓词 IN 表示指定的属性应与后面的集合(括号中的值集或某个查询子句的结果)中的某表示指定的属性应与后面的集合(括号中的值集或某个查询子句的结果)中的某 个值相匹配,实际上是一系列的个值相匹配,实际上是一系列的 OR (或)的缩写。谓词(或)的缩写。谓词 NOT IN 表示指定的属性不与表示指定的属性不与 后面的集合中的某个值相匹配。后面的集合中的某个值相匹配。 谓词谓词 BETWEEN 是是 “ 包含于包含于 之中之中 ” 的意

11、思。)的意思。) SELECT SNAME, SEX FROM STUDENTS WHERE AGE 23 AND BPLACE LIKE 湖 或 SELECT SNAME, SEX FROM STUDENTS WHERE AGE 23 AND BPLACE IN ( 湖南 , 湖北 ) 例例 22 找出学生表中籍贯是空值的学生的姓名和性别。(在找出学生表中籍贯是空值的学生的姓名和性别。(在 SQL 中不能使用条件:列中不能使用条件:列 名名 NULL 。在。在 SQL 中只有一个特殊的查询条件允许查询中只有一个特殊的查询条件允许查询 NULL 值:)值:) SELECT SNAME, SEX

12、 FROM STUDENTS WHERE BPLACE IS NULL 多表操作多表操作 例例 23 找出成绩为找出成绩为 95 分的学生的姓名。(子查询)分的学生的姓名。(子查询) SELECT SNAME FROM STUDENTS WHERE SNO (SELECT SNO FROM ENROLLS WHERE GRADE 95) 例例 24 找出成绩在找出成绩在 90 分以上的学生的姓名。分以上的学生的姓名。 SELECT SNAME FROM STUDENTS WHERE SNO IN (SELECT SNO FROM ENROLLS WHERE GRADE 90) 或 SELECT

13、 SNAME FROM STUDENTS WHERE SNO ANY (SELECT SNO FROM ENROLLS WHERE GRADE 90) 例例 25 查询全部学生的学生名和所学课程号及成绩。(连接查询)查询全部学生的学生名和所学课程号及成绩。(连接查询) SELECT SNAME, CNO, GRADE FROM STUDENTS, ENROLLS WHERE STUDENTS.SNO ENROLLS.SNO 例例 26 找出籍贯为山西或河北,成绩为找出籍贯为山西或河北,成绩为 90 分以上的学生的姓名、籍贯和成绩。(当构造分以上的学生的姓名、籍贯和成绩。(当构造 多表连接查询命

14、令时,必须遵循两条规则。第一,连接条件数正好比表数少多表连接查询命令时,必须遵循两条规则。第一,连接条件数正好比表数少 1 (若有三(若有三 个表,就有两个连接条件个表,就有两个连接条件 ) ;第二,若一个表中的主关键字是由多个列组成,则对此主关;第二,若一个表中的主关键字是由多个列组成,则对此主关 键字中的每一个列都要有一个连接条件(也有少数例外情况)键字中的每一个列都要有一个连接条件(也有少数例外情况) SELECT SNAME, BPLACE, GRADE FROM STUDENTS, ENROLLS WHERE BPLACE IN ( 山西 , 河北 ) AND GRADE 90 AN

15、D STUDENTS.SNO=ENROLLS.SNO 例例 28 查出课程成绩在查出课程成绩在 80 分以上的女学生的姓名、课程名和成绩。(分以上的女学生的姓名、课程名和成绩。( FROM 子句中的子句中的 子查询)子查询) SELECT SNAME,CNAME, GRADE FROM (SELECT SNAME, CNAME , GRADE FROM STUDENTS, ENROLLS,COURSES WHERE SEX 女 ) AS TEMP (SNAME, CNAME,GRADE) WHERE GRADE 80 表达式与函数的使用表达式与函数的使用 例例 29 查询各课程的学时数。(算术表达式由算术运算符、查询各课程的学时数。(算术表达式由算术运算符、 * 、与列名或数值、与列名或数值 常量所组成。)常量所组成。) SELECT CNAME,COURSE_TIME CREDIT*16 FROM COURSES 例例 30 找出教师的最小年龄。(内部函数:找出教师的最小年龄。(内部函数: SQL 标准中只使用标准中只使用 COUNT 、 SUM 、 AVG 、 MAX 、

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号