下列关于空值的描述中,正确的是()。
空值等同于数值0
空值等同于空字符串
空值表示无值
任意两个空值均相同
在下列有关GROUP BY语句的描述中,不正确的是
可以使用WHERE子句对所得的分组后结果进行筛选
分组条件可以有多个
GROUP BY可配合聚合函数一起使用,但GROUP BY中不能直接使用聚合函数
除了聚合函数,SELECT中的每个列都必须在GROUP BY中给出
在SQL语句中,与表达式sno NOT IN(“s1”,“s2”)功能相同的表达式是
sno=“s1”AND sno="s2"
sno!=”s1”AND sno!="s2"
sno="s1"OR sno="s2"
sno!="s1"OR sno!="s2"
使用SQL语句查询学生信息表tb1_student中的所有数据,并按学生学号stu_id升序排列,正确的语句是
SELECT *FROM tb1_student ORDER BY stu_id ASC;
SELECT *FROM tb1_student ORDER BY stu_id DESC;
SELECT*FROM tb1_student stu_id ORDER BY DESC;
SELECT *FROM tbl_student stu_id ORDER BY ASC;
设WHERE子句中有条件表达式:number IN(100,200),该表达式的含义是
number=100 or number =200
number >100 AND number <200
number>=100 AND number <=200
number =100 AND number =200
查询包含“洋”字的员工姓名和工资,正确的语句是
SELECT name,salary FROM tb_emp WHERE name LIKE'_[洋]%';
SELECT name,salary FROM tb_emp WHERE substring(name,2,1)='洋';
SELECT name,salary FROM tb_emp WHERE name LIKE '%洋%';
SELECT name,salary FROM tb_emp WHERE name LIKE '洋_;
设有学生选课表score(sno,cname,grade),其中sno表示学生学号, cname表示课程名,grade表示成绩。以下统计每个学生选课数的语句是
SELECT SUM(*)FROM score GROUP BY sno;
SELECT COUNT(*)FROM score GROUP BY cname;
SELECT SUM(*)FROM score GROUP BY cname;
SELECT COUNT(*)FROM score group by sno;
设员工表tb_emp包含字段eno(职工号)、 name(姓名)、 age(年龄)、salary(工资)和dept(所在部门),要查询工资最高的 前三名员工的信息,下列查询语句正确的是
SELECT*FROM tb_emp ORDER BY salary LIMIT 1,3
SELECT*FROM tb_emp ORDER BY salary DESC LIMIT 0,3
SELECT*FROM tb_emp ORDER BY salary DESC LIMIT 1,3
SELECT*FROM tb_emp ORDER BY salary LIMIT 1,4
设有学生表tb_student(sno,sname,ssex,smajor,stel),各字段的含义分 别是学生学号、姓名、性别、专业和联系电话。要求输入一条学生记 录,学号为s401, 姓名为李山,性别为男。以下不能完成要求 的语句是
INSERT INTO tb_student(sno,sname,ssex)VALUES('s401','李 山','男";
INSERT INTO tb_student VALUES(s401','李山','男',NULL, NULL);
INSERT INTO tb_student SET sno='s401',sname='李 山',ssex= '男';
INSERT INTO tb_student VALUES('s401','李山','男");
设有学生表Student(学号,姓名,系名,课程号,成绩),查询至少选修了4门课程的学生学号及平均成绩的正确语句是
SELECT学号,AVG(成绩)AS 平均成绩 FROM Student GROUP BY 学号 HAVING COUNT(课程号)>=4
SELECT学号,AVG(成绩)AS 平均成绩 FROM Student GROUP BY 课程号 HAVING COUNT(DISTINCT 学号)=3
SELECT学号,AVG(成绩)AS 平均成绩 FROM Student GROUP BY 学号 HAVING COUNT(课程号)<3
SELECT学号,AVG(成绩)AS 平均成绩 FROM Student GROUP BY 课 程 号 HAVING COUNT(课程号)=3
学生表tb_student包含学号sno、姓名sname、性别sex、年龄age、所在院系dept,要查询各个院系的男生人数、女生人数,下列查询语句中正确的是
SELECT dept,sex,SUM(*) FROM tb_student GROUP BY dept,sex;
SELECT dept,sex,COUNT(*) FROM tb_student GROUP BY dept,sex;
SELECT dept,max(*) FROM tb_student GROUP BY dept;
SELECT sex,sum(*) FROM tb_student GROUP BY sex;
设tb_grade表,包括学生、学科、成绩三个字段,要求按学科统计各学科的最高成绩,需要使用
SELECT 学生,MAX(成绩) FROM tb_grade ORDER BY 学科
SELECT 学生,MAX(成绩) FROM tb_grade ORDER BY 学生
SELECT 学科, MAX(成绩) FROM tb_grade GROUP BY 学科;
SELECT 学科,MAX(成绩) FROM tb_grade GROUP BY 学生
若要检索图书表中类别字段(type)值不是“计算机”的图书信息,以下条件表达式中,错误的是
NOT type=“计算机”
type != “计算机”
type NOT IN“计算机”
type<>“计算机”
设成绩表sc(Sno,Cno,Grade),各字段含义分别是:学号,课程号,成绩。若要查询平均成绩大于85分的学生学号及其 课程的平均成绩,下列选项正确的是
HAVING AVG(Grade)>85;
GROUP BY Sno HAVING AVG(Grade)>85;
WHERE AVG(Grade)>85;
GROUP BY Sno WHERE AVG(Grade)>85;
设成绩表tb_score(sno,cno,score),各字段含义:学号、课程号、成绩。要求统计每个学生所修课程的平均成绩,使用 GROUP BY进行分组统计的字段是
cno
sno
cno,sno
sno,cno
在SQL语句中,与“X BETWEEN 0 AND 20”等价的表达是
X>=0 AND X <= 20
X <= 0 AND X>=20
X <= 0 OR X>=20
X>=0 OR X <= 20
学生成绩表tb_score中字段score用于记录学生成绩,若要求score值必须在0分到100分之间(包含0、100),合法的 条件表达式是
score IN [0,100]
score>0 OR score < 100
score>=0 AND score <= 100
0 <= score <= 100
设有表tb_student(student_id,student_name,age,address),其中address字段值允许空值。若要查询出所有 address非空值的记录,则下列条件表达式中正确的是
address NOT NULL
not address = NULL
address NULL
address IS NOT NULL
与Sage >= 40 AND sage <= 60等价的条件表达式是
Sage BETWEEN 40 AND 60
Sage BETWEEN 40,60
Sage BETWEEN 40.60
BETWEEN Sage and 40.60
在SELECT语句中,指定需要查询的内容时,下列不可使用的是()
百分号通配符
列的别名
聚合函数
相应列参与计算的表达式
如果在ORDER BY子句中同时包含ASC和DESC关键字,那么MySQL会如何处理
默认使用DESC排序
默认使用ASC排序
查询会报错
MySQL会自动忽略其中一个关键字
在GROUP BY子句中使用多个列进行分组,这些列的组合是如何影响分组结果的
结果集将基于第一个列进行分组
每个列将独立进行分组
结果集将基于列的组合进行分组
只有最后一个列被用于分组
在 MySQL中,以下哪个选项是正确的 AND 逻辑运算符的用法
where cate = 'A' and q > 100
WHERE and cate = 'A',q> 100
WHERE cate = 'A' q> 100 OR price < 50 AND
AND cate = 'A' q > 100 WHERE price < 50
当使用ORDER BY子句对日期列进行排序时,默认排序方式是什么
按日期升序排序(从早到晚)
按日期降序排序(从晚到早)
按月份升序排序
按年份降序排序
在MySQL中,BETWEEN ... AND语句可以用于哪种情况
基于单个字段的值范围过滤
基于多个字段的值范围过滤
只能用于连接查询
只能用于子查询
当使用BETWEEN ... AND语句时,以下哪个选项是正确的描述
必须包含NOT关键字才能排除范围内的值
可以通过NOT关键字排除范围内的值
无法排除范围内的值
只能使用EXCLUDE关键字排除范围内的值
select * from net_46 where s_name like ’%弘%’的sql作用是
查询net_46表中s_name字段为‘弘’的学生姓名
查询net_46表中s_name字段为‘弘’的所有信息
查询net_46表中s_name字段包含‘弘’的学生姓名
查询net_46表中s_name字段包含‘弘’的全部信息
“_”在SQL中的通配符里有什么用处?
表示任意多个字符
表示任意单个字符
表示特定字符
表示特定字符串
查询name开头为“王”并且name是两个字的员工信息的SQL语句是?
select * from 表where name like‘王_’
select * from 表where name like‘%王_’
select * from 表where name like‘%王%’
select * from 表where name like‘%王’
%不能匹配以下哪个选项
任意字符
NULL
空字符串
确切字符串
当使用 AND 运算符时,如果多个条件连接在一起,下面哪个选项是正确的运算顺序
从左到右
从右到左
没有固定顺序
优先级取决于数据类型
下面选项中是正确语句是
where name = 'John'and age = 30 and city = 'New York'
WHERE name = 'John' where age = 30 where city = 'New York'
WHERE name = 'John' , (age = 30 , city = 'New York')
WHERE (name = 'John' : age = 30) : city = 'New York'
使用 AND 运算符时,以下哪个选项是正确的描述
只能用于数字比较
只能用于字符串比较
可以用于数字比较和字符串比较
只能用于日期比较
在 MySQL 中,以下哪个选项是正确的 AND 运算符的用法
where date > '2023-01-01' and date < '2023-12-31'
AND WHERE date BETWEEN '2023-01-01' '2023-12-31'
WHERE date = '2023-01-01' date = '2023-12-31' AND
WHERE date IN ('2023-01-01', '2023-12-31')
以下哪个选项是正确的 AND 语句
where price > 100 and price < 200 and quantity > 50
and where price > 100 , price < 200 quantity > 50
where price > 100 (price < 200 , quantity > 50)and
and where price > 100 and price < 200 where quantity > 50
当使用 IN 运算符时,下面哪个选项是正确的逻辑结果
包含所有指定的值
包含任意一个指定的值
只包含第一个指定的值
不包含任何指定的值
在select 1 is null;判断1是否为空的时候,可以将SQL语句改为select 1=null;吗?
没有要求
可以
不可以
以上都对
当使用 IN 运算符时,如果多个条件连接在一起,下面哪个选项是正确的运算顺序
从左到右
从右到左
没有固定顺序
优先级取决于数据类型
根据年龄进行降序排列
ORDER BY DESC AGE
ORDER BY AGE DESC
ORDER BY AGE ASC
order by asc age
在SQL中,不能使用哪个操作符来代替IS NULL?
等于
<>
!=
以上都不能
当使用 IN 运算符时,以下哪个选项是正确的描述
只能用于数字比较
只能用于字符串比较
可以用于数字比较和字符串比较
只能用于日期比较
从高到低来排列的排序方式为
升序
降序
乱序
混序
当使用 IN 运算符时,正确的是
至少满足两个条件即可
所有条件都必须满足
两个条件互斥
只要满足一个条件即可
在SQL中,要判断一个字段是否为NULL,应该使用哪个操作符?
IS NULL
IS NOT NULL
等于NULL
!= NULL
以下条件语句是正确的是
IN WHERE num (50, 100, 150) where price > 50
AND WHERE num like (50, 100, 150) OR price > 50
WHERE IN num regexp (50, 100, 150) AND price < 50
where num in (50, 100, 150) and price between 50 and 100
查询sex为”女” 或者 native为”北京”的员工信息的SQL语句是?
select native from 表 where sex=‘女’ and native=‘北京’
select * from 表 where sex=‘女’ or native=‘北京’
select sex from 表 where sex=‘北京’ and native=‘女’
select '女' from 表 where sex=‘北京’ or native=‘女’
查询native为“河南”或者河北 并且 sex为“男”的员工信息,下列语句正确的是( )
select * from 表 where (native='河南' or native='河北')and sex='男'
select sex from 表 (native=‘河南’or native=‘河北’)and sex=‘男’
select native from 表 where (native="河南"or "native"="河北")where sex=‘男’
select what from 表 where (native="河南"and "native"="河北") sex=‘男’
关于使用OR连接的条件查询,以下哪个描述是正确的?
只要满足任一条件,记录就会被返回
不满足条件的记录会被返回
只有当所有条件都满足时,记录才会被返回
返回的记录数量不确定
用于在分组里指定过滤条件,必须与GROUP BY一起使用的关键词是
where子句
having子句
from子句
limit子句
假设有一个名为employees的表,其中包含列name和department。如何计算每个部门的员工数量
select department, count(name) from employees group by department;
SELECT department, COUNT(name) FROM employees SORT BY department;
SELECT department FROM employees;
SELECT department, COUNT(name) FROM employees ORDER BY department;
在mysql中,获取前9条记录的语句正确的是()
limit 0,9
limit 5
limit 1,9
limit 1.8
如果一个查询既有WHERE子句又有HAVING子句,执行顺序是怎样的
先执行WHERE子句,再执行HAVING子句
先执行HAVING子句,再执行WHERE子句
同时执行WHERE和HAVING子句
执行顺序由查询的具体内容决定
SQL语句:select count(*) from tb_score group by courseNo;代表的含义为
查询每门课程的选课人数
查询每个学生的选课门数
查询学生的总人数
查询课程的总门数
如何使用GROUP BY对结果集先按照某列升序排列,然后再按另一列降序排列
无法在GROUP BY中实现,应使用ORDER BY
直接在GROUP BY子句中指定列的排序方向
使用SORT BY代替GROUP BY
使用多个GROUP BY子句
下列哪个关键字可以和ORDER BY一起使用,用来指定按升序排列
ASC
DESC
SORT
ORDER
where和order by 的关系
where在order by 前
where在order by 后
where和order by 没有顺序要求
都可以放在任意位置
按照salary从高到低的顺序进行排序,语句正确的是
SELECT employee_id,salary,last_name FROM employees ORDER BY salary ASC
SELECT employee_id,salary,last_name FROM employees ORDER BY salary DESC
SELECT employee_id,salary,last_name FROM employees GROUP BY salary ASC
SELECT employee_id,salary,last_name FROM employees GROUP BY salary DESC
显示员工的信息,按照department_id的降序排列,salary的升序排列
SELECT last_name, salary, department_id FROM employees ORDER BY department_id DESC, salary ASC
SELECT last_name, salary, department_id FROM employees ORDER BY department_id ASC, salary DESC
SELECT last_name, salary, department_id FROM employees ORDER BY salary ASC
SELECT last_name, salary, department_id FROM employees ORDER BY department_id DESC
在ORDER BY子句中,是否可以使用表达式或函数作为排序条件
只能使用列名
可以使用表达式或函数
只能使用常量
表达式或函数只能在SELECT列表中使用
在使用ORDER BY子句时,是否可以直接引用SELECT语句中的列别名进行排序
可以
不可以
只有在子查询中可以
取决于数据库版本
limit语句的完整写法中,limit后面第一个数字的含义是什么
行数
偏移量
列数
数据库的个数
limit语句的完整写法中,limit后面第二个数字的含义是什么
偏移量
记录数
数据表的个数
数据库的个数
select * from city limit 5,15 描述正确的是( )。
获取第 6 条到第 10 条记录
获取第 6 条到第 20 条记录
获取第 5 条到第 15 条记录
获取第 5 条到第 20 条记录
如果GROUP BY子句中包含了HAVING条件,那么HAVING条件是如何工作的
对每个分组应用HAVING条件之前的所有条件
在数据分组后,但在聚合计算之前应用HAVING条件
在聚合计算之后对分组结果应用HAVING条件
HAVING条件与WHERE条件同时应用
在MySQL中,如果没有指定ORDER BY子句的排列方式,数据会按什么方式进行默认排序
升序(ASC)
随机顺序
降序(DESC)
插入顺序
select * from city limit5,10中limit的含义是()
获取第6行到第15行
获取第5行到第15行
获取第6行到第20行
获取第6行到第25行
在mysql获取第10条到第15条记录应该使用的是
limit 10.15
limit 10,5
LIMIT 9,6
limit 10,6
下列说法错误的是哪个
GROUP BY 子句用来分组WHERE 子句的输出
WHERE 子句用来筛选FROM 子句中指定的操作所产生的行
聚合函数可以配合GROUP BY 一起使用
HAVING 子句用来从FROM的结果中筛选行