1、SQL语句中,排除重复记录用什么关键字?如何限制查询数据的返回限定行数?
排除重复记录:distinct
返回限定行:limit
2、SQL语句中,如何查询null值?模糊查询中,%和_通配符代表什么含义。
查询null值,只能用 is null 或 is not null
模糊查询中,%匹配零个或多个任意字符,_匹配一个任意字符。
3、SQL语句中,排序用什么关键字?如何描述升序和降序?多列排序是什么含义?
排序使用order by,默认或asc为升序,降序使用desc。
如果采用多列排序,表示如果第一个列的值相同,再按第二个列进行排序。
4、SQL语句的聚合函数有哪些?
count:统计记录条数。
sum:统计某个列的总和。
avg:统计某个列的平均数。
max:得到某个列的最大值。
min:得到某个列的最小值。
5、count()和count(列名)有什么区别?
count()统计所有记录。count(列名)只统计非空列。
6、多列分组是什么含义?
多列分组,表示多个列的值完全相等的记录分成一个组。
7、在分组语句中,查询的列可以有哪些?
在分组语句中,查询的列可以出现分组列,或聚合函数。
8、where和having的区别
where执行在分组之前,不能使用聚合函数。having执行在分组之后,对分组的结果进行筛选,只能跟聚合函数。
9、描述SQL查询语句执行顺序
from------where-----group by------select-------having-----order by-----limit
10、子查询返回单行单列时,主查询可以使用什么比较运算符?子查询返回多行单列时,主查询可以使用什么比较运算符?
子查询返回单行单列时,主查询可以使用=、!=、>、<、>=、<=
子查询返回多行单列时,主查询只能使用in或not in
11、什么是相关子查询,什么是非相关子查询?
在主查询中,每查询一条记录,需要重新做一次子查询,这种称为相关子查询。效率低。
在主查询中,子查询只需要执行一次,子查询结果不再变化。子查询结果供主查询使用,这种查询方式称为非相关子查询。
12、内连接和外连接区别
内连接只能查询两个表之间有对应记录的数据,而外连接可以查询其中一个表中全部的数据,无论该数据是否有对应的记录都可查出来。
13、描述三范式。
范式一:行不重复,列不可再分
范式二:非主依主。非主键列必须依赖于主键列。一个表只描述一个实体。
范式三:非主独立。非主键列之间不能有依赖关系。