牛客网-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语句为:
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' , '女');
('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的区别
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)