在分组查询中,如果用于分组的列含有null值,null值将被如何处理?
被忽略
作为单独的分组返回
显示为0并于其他值合并
不显示
如果要过滤分组后的结果,应该使用哪个子句
WHERE
HAVING
FILTER
LIMIT
在使用GROUP BY语句时,如果需要根据多个列进行分组,列名之间应该使用什么分隔它们
星号 (*)
逗号 (,)
感叹号 (!)
等于号 (=)
如果一个列包含空值,如何计算非空值的数量
使用COUNT()函数
使用SUM()函数
使用COUNT(字段名)
使用AVG()函数
在分组查询中,如果SELECT列表中包含非聚合的表达式,则这些表达式必须做什么
出现在HAVING子句中
出现在WHERE子句中
出现在GROUP BY分组子句中
出现在ORDER BY子句中
对于描述having子句与where子句区别的选项,不正确是哪个
where用于过滤行,having用于过滤分组
where不包含聚合函数,having可以
where在分组前,having在分组后
where子句可以使用别名和分组,having子句中不可以使用别名和分组
在userinfo表中有两个男员工的部门的男员工的总工资,包含部门号,男员工人数,总工资信息,其正确的SQL语句是
select departmentid,count(sex),sum(salary) from userinfo where sex=‘male’ group by departmentid having count(sex) >2;
select departmentid,count(sex),sum(salary) from userinfo where sex=‘male’ group by departmentid having count(sex) >=2;
select departmentid,count(sex),sum(salary) from userinfo where sex=‘male’ group by departmentid having count(sex) =2;
select departmentid,count(sex),sum(salary) from userinfo where sex=‘male’ group by departmentid having count(sex) >=3;
用于对原始数据指定过滤条件的关键词是
where子句
having子句
from子句
limit子句
在 select 语句中,可以使用( )子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算
limit
group by
where
order by
从GROUP BY分组的结果集中再次用条件表达式进行筛选的子句是
FROM
ORDER BY
HAVING
WHERE
如何统计最高分>80的学科
SELECT MAX(成绩) FROM A GROUP BY学科HAVING MAX(成绩)>70;
SELECT学科FROM A GROUP BY学科HAVING MAX(成绩)=80;
SELECT学科FROM A GROUP BY学科HAVING MAX(成绩)>80;
SELECT学科FROM A GROUP BY学科HAVING MAX(成绩)!=80;
统计每个部门中人数
SELECT DEPTNO, SUM(ID) FROM EMP GROUP BY DEPTNO;
SELECT DEPTNO, SUM(ID) FROM EMP ORDER BY DEPT;
SELECT DEPTNO, SUM(ID) FROM EMP ORDER BY DEPTNO;
SELECT DEPTNO, COUNT(ID) FROM EMP GROUP BY DEPTNO;
假设有一个名为employees的表,其中包含列department_id和salary,如何使用GROUP BY和聚合函数找到每个部门最低工资大于30000的部门ID
SELECT department_id FROM employees GROUP BY department_id HAVING MIN(salary) > 30000;
SELECT department_id FROM employees GROUP BY department_id HAVING MIN(salary) = 30000;
SELECT department_id FROM employees GROUP BY department_id HAVING MIN(salary) != 30000;
SELECT MIN(salary), department_id FROM employees GROUP BY department_id HAVING salary >= 30000;
在GROUP BY子句中,如果某个列完全由NULL构成,那么这个分组的结果是什么
不返回任何行
返回一个包含NULL的单独分组
返回错误
忽略该列进行分组
如果需要对分组结果的聚合值应用条件过滤,并且这些条件涉及到聚合函数,应该使用哪个子句
WHERE
HAVING
FILTER
CHECK
在分组中使用聚合数据时,如何确保不计算重复值
使用DISTINCT关键字
使用FROM子句
使用GROUP BY子句
使用ORDER BY子句
GROUP BY子句和DISTINCT关键字在功能上有什么不同
GROUP BY用于生成汇总行,而DISTINCT用于去除重复行。
没有不同,它们是相同的
DISTINCT没有特殊意义,而GROUP BY只能用于选定的列。
GROUP BY通常用于排序,而DISTINCT不用于排序。
使用GROUP BY对数据进行分组时,如果某些行在分组的列上值相同,在其他列上值不同,如何处理这些行
这些行会被视为一个分组。
每一行都会被视为不同的分组。
只有值最小的行会被包括在分组中。
只有值最大的行会被包括在分组中。
在GROUP BY子句中使用表达式时,如何在内连接中引用这些表达式产生的分组结果
不能使用
可以为表达式设置别名,并引用别名
使用计算结果值
只能用在having后面
如何在同一个连接查询中对分组后的每个组应用多个聚合函数
无法在同一个查询中对一个组应用多个聚合函数。
在SELECT列表中列出需要的所有聚合函数。
使用多个where子句,每个对应一个聚合函数。
只能使用一个聚合函数。
在MySQL中排序的关键字是什么
ORDER BY
SORT
RANK
ARRANG
字段名在数据表中,描述正确的是()
字段名必须唯一
可以多个字段名
可以是%
可以是alter
在SQL中,用于向表中添加新列的命令是什么?
rename
add
update
drop
同一个字段在同一个数据表中可以出现()次
1
2
3
4
以下哪种关系型键表示唯一性约束?
PRIMARY KEY
FOREIGN KEY
UNIQUE
INDEX KEY
如果想要在已有数据表中添加一列,应该使用哪个关键字?
delete
modify
add
change
在SQL中,如果要修改某列使其成为表的第一个列,应该使用哪个关键字?
FIRST
ADD
ALTER
SET
起始行为第5条的位置时,偏移量参数为()
3
6
5
4
select * from city limit 5 描述正确的是( )
获取第1条到第4条记录
获取第1条到第5条记录
获取第5条记录
获取第5条到数据表最后一条的记录
limit后面的数据的数据类型是()
char
text
整型
date
获取前三条的学生信息可能会用到的是()
limit 0@3
limit 0,3
limit 0#3
limit 1.3
想要获取第20行到第22行数据,需要在语句最后加上()
limit 20,22
limit 20,2
limit 19,3
limit 19,22
偏移量为9,记录从第()条开始
8.5
9
10
9.5
limit3,(),输出记录为第4条到第7条
7
3.5
4
4.5
在replace into 插入语句的语法中,哪项不是必须的()
表名
关键字values
要插入的值
约束
在MySQL中,插入数据时,自增列(auto_increment)的主要用途是什么?
删除重复的数据
修改已有的数据
实现序列号自动增长
检索特定的数据行
insert在插入候选列数据时,且待插入数据与原数据重复,可以实现什么功能。
插入失败
插入成功
删除数据
成功,将代替数据
truncate emp是()数据表emp的内容
完整复制
部分删除
删除
部分插入
update emp set age=18 where s_id <=5 该代码可以实现什么功能
修改数据
查询数据
删除数据
处罚数据
以下哪个不是MySQL的聚合函数
html
min
max
avg
使用AS关键字为字段设置别名时,应该将其放置在哪个位置
句子末尾
放到要设置别名的字段名之后
句子开头
只能将别名放到WHERE之后
对表中一个或者多个字段重复的数据进行过滤的关键字是
update
distinct
select
create
从班级表tb_class中查询出所有的院系名称,并将重复的记录去掉,正确的语句为
select DISTINCT department from tb_class;
select department from tb_class;
select * from tb_class;
select from tb_class;
可用于从表中检索数据的SQL语句是
SELECT语句
insert语句
update语句
delete语句
单表查询时若没有指定all|distinct|distinctrow这些选项,则默认为
distinct
select
distinctow
all
使用SELECT在表中查询内容时,语句的完整语法比较复杂,但至少包括的部分是
仅select
select,from
select,group
select,into
员工表tb_emp中有字段eno(职工号)、dept(所在部门),要统计“市场部”的员工人数,正确的语句是
SELECT dept,COUNT(*)FROM tb_emp GROUP BY dept HAVING dept=’市场部’;
SELECT dept,TOTAL(*) FROM tb_emp GROUP BY dept=’市场部’;
SELECT dept,SUM(*)FROM tb_emp GROUP BY dept HAVING dept=’市场部’;
SELECT dept,COUNT(*) FROM tb_emp GROUP BY dept =’市场部”;
设成绩表包含学号、分数等字段。查询有3门以上课程的成绩在90分以上的学生学号及90分以上课程数。以下SQL语句中正确的是
SELECT 学号,COUNT(学号) FROM 成绩 WHERE分数 >90 AND COUNT(学号)>3;
SELECT学号,COUNT(*) FROM成绩 WHERE 分数 >90 AND COUNT(*)>3 GROUP BY 学号;
SELECT 学号,COUNT(' ') FROM成绩 GROUP BY 学 号 HAVING COUNT(*)>3 AND 分数>90;
SELECT学号,COUNT(*) FROM 成绩 WHERE 分数 >90 GROUP BY 学号 HAVING COUNT(*)>3;
设有一个成绩表score,现需要查询成绩grade第二名的同学信息,正确的SQL语句应该是
SELECT*FROM score ORDER BY grade limit 1,1;
SELECT*FROM score ORDER BY grade limit 0,1;
SELECT*FROM score ORDER BY grade DESC limit 1,1;
SELECT*FROM score ORDER BY grade DESC limit 0,1;
设有学生社团表tb_gs(gno,sno),其中gno 表示社团编号,sno 表示学生学号。查询参加社团数量大于2的学生的学号语句是
SELECT sno FROM tb_gs GROUP BY sno HAVING COUNT(*) >2;
SELECT sno FROM tb_gs GROUP BY gno HAVING SUM(sno)> =2;
SELECT sno FROM tb_gs WHERE COUNT(*) >=2 GROUP BY sno ;
SELECT sno FROM tb_gs GROUP BY gno HAVING COUNT(*) >=2;