导图社区 关系数据库标准语言SQL
包括数据查询,数据的更新与空值的处理,视图等,本脑图有助于帮助您熟悉知识要点,加强记忆。有需要的同学,可以收藏下哟。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
关系数据库标准语言SQL
数据查询
单表查询
SELECT关键字后列出所有列名,将<目标列表达式>指定为*
eg.SELECT Sno FROM Student
使用列别名改变查询结果的列标题
eg.SELECT Sname NAME
指定DISTINCT关键词,去除表中重复的行
eg.SELECT DISTINCT Sno
[NOT]LIKE '<匹配串>'
<匹配串>可以是一个完整的字符串,也可以含有通配符%和_
%(百分号)代表任意长度(长度可以为0)的字符串 例如a%b表示以a开头,以b结尾的任意长度的字符串
_(下横线)代表任意单个字符 例如a_b表示以a开头,以b结尾的长度为3的任意字符串
使用换码字符将通配符转义为普通字符 ESCAPE'\' 表示“\“为换码字符
ORDER BY子句可以按一个或多个属性列排序
升序ASC;降序DESC
eg.ORDER BY Sdept DESC
GROUP BY 子句分组
连接查询
等值与非等值连接查询
等值连接:连接运算符为“=”
eg.WHERE Student.Sno=SC.Sno
自然连接:在SELECT中去掉重复字段的方式实施
(1)嵌套循环法(NESTED-LOOP)
(2)排序合并法(SORT-MERGE)
(3)索引连接(INDEX-JOIN)
自身连接
需要给表起别名,必须使用别名前缀
eg.SELECT FIRST.Cname,SECOND.Cname FROM Course FIRST,Course SECOND WHERE FIRST.Cpno=SECOND.Cpno
外连接
以指定表为连接主体,将主体表中不满足连接条件的元组一并输出 左(右)连接:列出左(右)边关系中的所有元组
eg.FROM Student LEFT OUT JOIN SC ON (Student.Sno=SC.Sno)
多表连接
嵌套查询
上层的查询块称为外层查询或父查询 下层查询块称为内层查询或子查询(不能使用ORDER BY子句)
带有IN谓词的子查询
带有比较运算符的子查询
带有ANY(SOME)或ALL谓词的子查询
带有EXISTS谓词的子查询
不返回任何数据 若内层查询结构非空,则外层的WHERE子句返回真值“true” 若内层查询结构为空,则外层的WHERE子句返回假值“false”
集合查询
并操作UNION
交操作INTERSECT
差操作EXCEPT
数据的更新与空值的处理
数据更新
插入数据
插入元组 INSERT INTO...VALUES...
eg.INSERT INTO SC VALUES('201215128','1',NULL)
插入子查询结果
修改数据 UPDATE...SET...
eg.UPDATE Student SET Sage=22/Sage=Sage+1 WHERE Sno='201215121'
删除数据 DELECT FROM...
eg.DELETE FROM Student WHERE Sno='201215128'
空值处理
判断:IS NULL或IS NOT NULL
不能取空值
有NOT NULL约束条件
加了UNIQUE限制的属性
码属性
视图
定义视图
建立视图
CREATE VIEW...AS...[WITH CHECK OPTION]
删除视图
DROP VIEW...[CASCADE]
查询视图
更新视图
视图的作用
WHERE子句中不能用聚集函数作为条件表达式