没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
数据库标准语言SQL
数据定义
动词:CREATE,DROP(删除表),ALTER(修改)
定义基本表:CREATE TABLE <表名>; 建立一个学生表:CREATE TABLE STUDENT;
修改基本表:ALTER TABLE <表名>;
增加课程名称必须取唯一值的约束条件:ALTER
TABLE COURSE ADD UNIQUE (CNAME);
删除基本表:DROP TABLE <表名> RESTRICT(有
限制条件)/CASCADE(没有限制);
删除STUDENT表,选择CASCADE:DROP
TABLE STUDENT CASCADE;
建立索引:CREATE UNIQUE(对应唯一数据)/
CLUSTER(聚簇索引) INDEX<索引名> ON <
表名>; ASC(升序)/DESC(降序)
修改索引:ALTER INDEX <旧索引名> RENAME
TO <新索引名>;
删除索引:DROP INDEX <索引名>;
数据查询:
SELECT [ALL|DISTINCT]<目标列表达
式>
FROM <表名或视图
名>
WHERE<条件表达
式>
GROUP BY <列名>
单表查询
查询指定列:查询全体学生的学号与姓名:
SELECT SNO,SNAME FROME STUDENT
查询全部列:查询全体学生的详细记录:
SWLECT * FROME STUDENT
SC表中可能会有多个SNO
为了避免结果有重复的SNO
则⽤DISTINCT删除重复的数据
消除取消重复的行:查询选修了课程的学生学
号:SELECT DISTINCT SNO FROM SC
查询满足条件的元组
5
ORDER BY对查询结果按照⼀个或多个属性列的升序...
ORDER BY 子句:查询选修81003课程的学生学
号及成绩,查询结果按分数降序排列:SELECT
SNO,GRADE FROM SC WHERE CNO='81003'
ORDER BY GRADE DESC;
聚集函数只能⽤于SELECT和GROUP BY 的HAVING短...
聚集查询:查询学号为20180003学生选修课程的
总学分数:SELECT SUM(CCREDIT) FROM SC,
COURSE WHERE SNO='20180003' AND SC.
CNO=COURSE.CNO
聚集函数⽤GROUP BY 的HAVING语句
GROUP BY:求各个课程号及选修该课程的人数:
SELECT CNO,COUNT(SNO) FROM SC GROUP
BY CNO 求平均成绩大于90的学生学号和平均成
绩:SELECT SNO,AVG(GRADE) FROM SC
GROUP BY SNO HAVING AVG(GRADE)>90;
LIMIT:LIMIT<行数1>[OFFSET<行数2>] 取行数1,
忽略行数2 查询平均成绩排名在3~7的学生学
号及平均成绩:SELECT SNO,AVG(GRADE)
FROM SC GROUP BY SNO ORDER BY AVG(
GRADE)DESC LIMIT5 OFFSET2
连接查询
自然连接查询:查询每个学生的学号、姓名、性
别、及该学生选修课程的课程号与成绩:
SELECT STUDENT.SNO,SNAME,SSEX,CNO,
GRADE FROM STUDENT,SC WHERE
STUDENT.SNO=SC.SNO
复合条件连接查询:查询选修81002课程且成绩
在90以上的学生的学号和姓名:SELECT
STUDENT.SNO,SNAME FROM STUDENT,SC
WHERE STUDENT.SNO=SC.SNO AND SC.CNO='
81002' AND GRADE>90;
自身连接查询:查询每一门课的间接选修课:
SELECT FIRST.CNO,SECOND.CPNO FROM
COURSE FIRST,COURSE SECOND WHERE
FIRST.CPNO=SECOND.CNO AND SECOND.CNO
IS NOT NULL;
外连接查询:左外连接(LEFT OUTER)和右外连
接(RIGHT OUTER)
多表连接:查询每个学生的学号、姓名、选修课
程名及成绩:SELECT STUDENT.SNO,SNAME,
CNAME,GRADE FROM STUDENT,COURSE,
SC WHERE STUDENT.SNO=SC.SNO AND
COURSE.SNO=SC.CNO
嵌套查询
带有IN的子查询:查询与刘晨在同一专业的学生
学号、姓名与专业:SELECT SNO,SNAME,
SMAJOR FROM STUDENT WHERE SMAJOR
IN (SELECT SMAJOR FROM STUDENT
WHERE SNAME='刘晨';
带有比较运算符的子查询:将‘=’用‘IN’代替:求每
个学生超过他自己选修课程平均成绩的课程号:
SELECT SNO,CNO FROM SC X WHERE
GRADE>=(SELECT AVG(GRADE) FROM SC Y
WHERE Y.SNO=X.SNO
<>表⽰不等于
带有ANY|ALL的子查询:查询非ABS中比ABS任
意一个年龄小的学生姓名、出生日期和主修专
业:SELECT SNAME,SAGE,SMAJOR WHERE
STUDENT WHERE SAGE<ANY(SELECT SAGE
FROM STUDENT WHERE SMAJOR='ABS')
AND SMAJOR<>'ABS';
带有EXISTS的子查询:不返回任何数据,只产生
逻辑真值TURE或逻辑假值FALSE
集合查询:主要包括并操作UNION、交操作
INTERSECT和差操作EXCEPT
基于派生表的查询
数据操纵
动词:INSERT,UPDATE,DELETE(删除表中的数
据)
数据控制
动词:GRANT(授予),REVOKE(收回权限)
资源评论
不想考试的ID
- 粉丝: 1118
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Open3D C++ 系列教程源代码(四)动画 Tick事件
- lab7_02.c
- 基于 SpringCloud 和 Vue3 的OA系统
- 软考高级项目管理师-项目采购管理思维导图
- WordsVector (1).ipynb
- yolov7 车牌检测 车牌识别 中文车牌识别 检测 支持双层车牌 支持12种中文车牌
- 20240429_112025.m4a
- "麦嘟学编程"似乎是一个与编程学习相关的品牌或社区名称,它可能是一个在线教育平台、博客、论坛或社交媒体群组等,旨在帮助人们学习编
- OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,由
- Redis入门基础篇+源码(springboot、maven)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功