SQL语句大全实例

上传人:鲁** 文档编号:460954877 上传时间:2023-05-25 格式:DOCX 页数:15 大小:42.15KB
返回 下载 相关 举报
SQL语句大全实例_第1页
第1页 / 共15页
SQL语句大全实例_第2页
第2页 / 共15页
SQL语句大全实例_第3页
第3页 / 共15页
SQL语句大全实例_第4页
第4页 / 共15页
SQL语句大全实例_第5页
第5页 / 共15页
点击查看更多>>
资源描述

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

1、SQL语句大全实例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 (SNO NUMERIC(6,0) NOT NULL CNO CHAR(4) NOT NULL

2、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 SELECT SNO, SNAME, AGE FROM STUDENTS WHERE SEX= 女 ; 例 4 删除教师表 TEACHER 。

3、DROP TABLE TEACHER 例 5 在教师表中增加住址列。 ALTER TABLE TEACHERS ADD (ADDR CHAR(50) 例 6 把 STUDENTS 表中的 BPLACE 列删除,并且把引用 BPLACE 列的所有视图和约束也一起删除。 ALTER TABLE STUDENTS DROP BPLACE CASCADE 例 7 补充定义 ENROLLS 表的主关键字。 ALTER TABLE ENROLLS ADD PRIMARY KEY (SNO,CNO) ; 视图操作 例 9 建立一个只包括教师号、姓名和年龄的视图 FACULTY 。 ( 在视图定义中不能包含

4、ORDER BY 子句 ) CREATE VIEW FACULTY AS SELECT TNO, TNAME, AGE FROM TEACHERS 例 10 从学生表、课程表和选课表中产生一个视图 GRADE_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 VIE

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

6、全部被删除。选用 RESTRICT ,即本数据库模式下属的基本表、视图、索引等事先已清除,才能删除本数据库模式,否则拒绝删除。) DROP SCHEMA TEACHING_DB CASCADE 单表操作 例 16 找出 3 个学分的课程号和课程名。 SELECT CNO, CNAME FROM COURSES WHERE CREDIT 3 例 17 查询年龄大于 22 岁的学生情况。 SELECT * FROM STUDENTS WHERE AGE 22 例 18 找出籍贯为河北的男生的姓名和年龄。 SELECT SNAME, AGE FROM STUDENTS WHERE BPLACE 河北

7、 AND SEX 男 例 19 找出年龄在 20 23 岁之间的学生的学号、姓名和年龄,并按年龄升序排序。 (ASC 或 DESC 声明排序的方式,缺省为升序。 ) SELECT SNO, SNAME, AGE FROM STUDENTS WHERE AGE BETWEEN 20 AND 23 ORDER BY AGE 例 20 找出年龄小于 23 岁、籍贯是湖南或湖北的学生的姓名和性别。,此外还可以使用的运算符有:、 NOT 、 OR 等。 谓词 LIKE 只能与字符串联用,常常是 “ 列名 LIKE pattern” 的格式。特殊字符 “_” 和 “%” 作为通配符。 谓词 IN 表示指定

8、的属性应与后面的集合中的某个值相匹配,实际上是一系列的 OR 的缩写。谓词 NOT IN 表示指定的属性不与后面的集合中的某个值相匹配。 谓词 BETWEEN 是 “ 包含于 之中 ” 的意思。) SELECT SNAME, SEX FROM STUDENTS WHERE AGE 23 AND BPLACE LIKE 湖 或 SELECT SNAME, SEX FROM STUDENTS WHERE AGE 23 AND BPLACE IN 例 22 找出学生表中籍贯是空值的学生的姓名和性别。 SELECT SNAME, SEX FROM STUDENTS WHERE BPLACE IS NU

9、LL 多表操作 例 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 SNAME FROM STUDENTS WHERE SNO ANY (SELECT SNO FROM ENROLLS WHERE GRADE 90) 例

10、 25 查询全部学生的学生名和所学课程号及成绩。 SELECT SNAME, CNO, GRADE FROM STUDENTS, ENROLLS WHERE STUDENTS.SNO ENROLLS.SNO 例 26 找出籍贯为山西或河北,成绩为 90 分以上的学生的姓名、籍贯和成绩。) SELECT SNAME, BPLACE, GRADE FROM STUDENTS, ENROLLS WHERE BPLACE IN ( 山西 , 河北 ) AND GRADE 90 AND STUDENTS.SNO=ENROLLS.SNO 例 28 查出课程成绩在 80 分以上的女学生的姓名、课程名和成绩。

11、 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 找出教师的最小年龄。 COUNT 函数的结果是该列统计值的总数目, SUM 函数求该列统计值之和, AVG 函数求该列统计值之平均值, MAX 函数求该列最大值, MIN 函数求该列最小值。) SELECT MIN(AGE) FROM TEACHERS 例 31 统计年龄小于等于 22 岁的学生人数。 SELECT COUNT(*) FROM STUDENTS WHERE AGE 22 例 32 找出学生的平均成绩和所学课程门数。 SELECT SNO, AVG(GRADE), COURSES COUNT(*) FROM ENROLLS GROUP BY SN

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

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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