牛客网-SQL专项训练3

①这里有一张user表包含如下信息:

 现在要把name列的所有值都转换为大写,并将字段重命名为names,像下面这样:

 

 SQL语句为:SELECT UCASE(name) AS names FROM user

解析:结果中只提取出了name这一列,并将其重命名为names,将这一列的名字变成了大写。

知识点:

LACASE是将内容转换为小写,UCASE将内容转换为大写,但都只针对英文内容
CASE是条件控制语句的关键字
②积分result表中有A B C D四列,要求:
1)当A列值大于等于B列时,选择A列否则选择B列
2)当C列值大于等于D列时,选择C列否则选择D列
SQL语句为:
SELECT (CASE WHEN A >= B THEN A ELSE B END) AS MAX_AB ,(CASE WHEN C >= D THEN C ELSE D END) AS  MAX_CD

FROM result;

知识点:

流程控制函数

语法:

case

when 条件1 then 要显示的值1或语句1

when 条件2 then 要显示的值2或语句2

else 要显示的值n或语句n

end

Mysql中表student_table(id,name,birth,sex),插入如下记录:

('1001' , '' , '2000-01-01' , '男');
('1002' , null , '2000-12-21' , '男');
('1003' , NULL , '2000-05-20' , '男');
('1004' , '张三' , '2000-08-06' , '男');
('1005' , '李四' , '2001-12-01' , '女');
执行 select * from student_table where length(name) >= 0 的结果行数是3
解析:
length(name) >= 0,就只有1001、1004、1005这三条数据,1001的length(name) = 0 ,而对于null 和 NULL ,length(name) 就为空值。
知识点:length()
④下列命令中,可以删除视图的是 B
A.DELETE                                                 B.DROP
C.CLOSE                                                   D.REVOKE
解析:
DELETE:删除表中的行数据
DROP:删除表的数据以及表的结构,也可以删除视图:DROP VIEW 视图名称
CLOSE:可用于关闭游标
REVOKE:可用于收回语句或对象许可
⑤下面有关sql 语句中 delete、truncate的说法正确的是?(A C)
A.论清理表数据的速度,truncate一般比delete更快
B.truncate命令可以用来删除部分数据
C.truncate只删除表的数据不删除表的结构
D.delete能够回收高水位(自增ID值)
解析:
1:处理效率:drop>truncate>delete;因此A正确
2:删除范围:drop删除整个表(结构和数据一起删除),truncate删除全部记录,但不删除表结构,delete只删除数据;因此B错,C对
3:高水位线:delete不影响自增ID值,高水线保持原位置不动;truncate会将高水线复位,自增ID变为1。因此D错
知识点:delete、truncate的区别
posted on 2022-09-08 17:30  我不想一直当菜鸟  阅读(312)  评论(0编辑  收藏  举报