工作总结 /述职报告/季度汇报 /演讲报告
关系数据库标准语言SQL
2018. 06. 02
SQL概述
SQL的特点
1. 综合统一
2. 高度非过程化
3. 面向集合的操作方式
4. 以同一种语法结构提供两种使用方的变更,因此经常更新的数据列不宜建立。
例题
[例6] 为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno)
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);
二、删除索引
DROP INDEX <索引名>;
删除索引时,系统会从数据字典中删去有关该索引的描述。
[例7] 删除Student表的Stusname索引。
DROP INDEX Stusname;
概述
语句格式
SELECT [ALL|DISTINCT] <目标表达式>[, <目标表达式>] …
FROM <表名或视图名>[, <表名或视图名>…]
[WHERE <条件表达式>]
[GROUP BY <列名1>[HAVING <条件表达式>]]
[ORDER BY <列名2> [ASC|DESC]];
示例数据库
学生-课程数据库
学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
查 询
概述
单表查询
连接查询
嵌套查询
集合查询
小结
单表查询
查询仅涉及一个表,是一种最简单的查询操作
一、选择表中的若干列
二、选择表中的若干元组
三、对查询结果排序
四、使用集函数
五、对查询结果分组
从职工关系中检索所有工资值
SELECT 工资 FROM 职工
结果是:
1220
1210
1250
1230
1250
SELECT DISTINCT工资 FROM 职工
结果是:
1220
1210
1250
1230
单表查询
用户在查询时可根据应用的需要改变列的显示顺序
例2查询全体学生的姓名、学号、所在系。
查询全部列-将所有的列名在SELECT后面列出或者用*表示列名 例3 SELECT * FROM Student;
查询经过计算的值
例4查询全体学生姓名及其出生年份
SELECT Sname,2019-Sage FROM Student;
单表查询
<目标列表达式>不仅可以是算术表达式,还可以是字符串常量、函数等。
例5查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名
SELECT Sname,’Year of Birth:’,2019-Sage,ISLOWER(Sdept) FROM Student;
输出结果:
Sname ’Year of Birth:’ 2019-Sage ISLOWER(Sdept)
------- ---------------- ------------- ------------------
李勇 Year of Birth: 1976 cs
刘晨 Year of Birth: 1977 is
王名 Year of Birth: 1978 ma
张立 Year of Birth: 1977 is
[例5.*] 使用列别名改变查询结果的列标题
SELECT Sname NAME,'Year of Birth: ’ BIRTH,
2000-Sage BIRTHDAY,ISLOWER(Sdept) DEPARTMENT
FROM Student;
输出结果:
NAME BIRTH BIRTHDAY DEPARTMENT
------- ---------------- ------------- ------------------
李勇
关系数据库标准语言SQL 来自淘豆网m.daumloan.com转载请标明出处.