首页 > 试题广场 >

Mysql中表student_table(id,name,b

[单选题]
Mysql中表student_table(id,name,birth,sex),插入如下记录:
('1003' ,'男生姓名' , '2000-05-20' , '男');
('1004' , '张三' , '2000-08-06' , '男');
('1005' , '李四' , '2001-12-01' , '女');
('1006' , '女生姓名' , '2001-12-02' , '女');
删除符合条件的记录:是男生时删除name='男生姓名'的记录,是女生时删除name='女生姓名'的记录,如下SQL正确的是()?
 
 
  •  delete from table student_table where  name  = ( case when sex = '男' then '男生姓名' when sex = '女' then '女生姓名' end) ;
  • delete from student_table where  name  = ( case when sex = '男' then '男生姓名' when sex = '女' then '女生姓名' end) ;
  •  delete from student_table where  name  = ( case when sex = '男' then '男生姓名' when sex = '女' then '女生姓名') ;
  •  delete from student_table where  name  = ( case sex = '男' then '男生姓名' case sex = '女' then '女生姓名' end) ;
case
when *** then
when ** then
end
发表于 2022-02-17 10:04:47 回复(3)
A 不是表名不正确而是delete语句不需要额外添加一个table
通用格式:
DELETE FROM table_name;

DELETE * FROM table_name;
发表于 2022-03-09 05:10:26 回复(0)
答案A 表名不对
答案BCD 表名正确,主要考察CASE WHEN语法,记住要有END做结束,答案选B
发表于 2022-02-17 17:43:37 回复(0)
请问这是mysql的语法吗?好陌生啊看都看不明白😭
编辑于 2022-07-20 16:38:18 回复(1)
自己选c的逻辑,就是将其语言进行对照翻译,删除时候不能够带有table(关键字),使用case...when....的时候要注意后面有一个结尾的.....end
编辑于 2024-02-22 20:26:22 回复(0)
C少了END,D少了WHEN
编辑于 2023-12-13 23:12:53 回复(0)
where name. = (
case
when sex = "male" then 'male name'
when sex = "female" then 'female name'
end)

发表于 2022-10-07 21:22:33 回复(0)
列可以和列比较??
发表于 2022-09-08 21:20:05 回复(0)
这里为啥不是name in(……)
发表于 2022-08-31 11:05:29 回复(0)
case when 语句中 case 和end不可少
发表于 2022-07-13 06:58:09 回复(0)
CASE 
        WHEN 条件1 THEN 显示的值
        WHEN 条件2 THEN 显示的值

ELSE 不满足所有条件时的值
END
发表于 2022-07-07 21:55:01 回复(0)
case 
when then 
end
发表于 2022-07-01 14:50:25 回复(0)
同一个判断语句里面不能出现多个case
发表于 2022-04-30 16:26:48 回复(0)