文章目录
四、关系数据库标准查询语音SQL
4.0SQL语言概述
4.1基本表的定义
char和varchar的区别:当输入的字符不足n个字符时,char类型会在字符串后面补足空格使其达到n个字符。varchar则不会补空格,属性值长度就是输入字符数。
4.2查询结果显示
group by按指定的属性列进行分组,属性值相同的元组为一个组,每个组产生结果表中的一条记录,如果group by子句带HAVING短语,则只有满足指定条件的分组才能予以输出。
order by按照指定列的值进行排序
默认不对查询结果去重,如果需要去重,在表名前加distinct
all是指不去重,这个是默认的,一般不写
datediff函数:
第1个参数是你要的时间单位,第2个参数是从什么时间算起,第3个参数是到哪个时间结束
需要需要排序,则需要用order by。排序默认是升序,ASC可以省略。如果需要降序,则加DESC
4.3查询满足条件的元组
_本身是通配符,需要对它进行转义变成 \ _,在字符串表达式后用ESCAPE来定义转义字符
4.4分组聚集查询
4.5连接查询
左外连接:返回左表全部的记录,如果右表没有找到对应记录,则将相关位置置为NULL
右外连接:返回右表全部的记录,如果左表没有找到对应记录,则将相关位置置为NULL
4.6嵌套查询
in和exists区别:
in是用一个字段匹配多个值,exists则是用于检查子查询的结果是否为空
使用exists关键字,它是先进行主查询,然后逐个的执行子查询进行匹配。
4.7集合查询
4.8数据更新
4.9视图
4.10索引
4.11授权控制
这里是收回修改学生成绩,ppt上字打错了
cascade级联,表示同时收回U1给出去的权利
4.12SQL综合查询