又报错了,ERROR 1064 (42000)呜

初学跟着视频演示操作,
mysql> select * from employee;
+----+-----------+------+--------+
| id | name | sex | salary |
+----+-----------+------+--------+
| 1 | 张三 | 男 | 5500 |
| 2 | 李四 | 男 | 4500 |
| 3 | 王五 | 男 | 4200 |
| 4 | 赵六 | 男 | 3500 |
| 5 | 白洁 | 女 | 6500 |
| 6 | 龙少 | 男 | 2500 |
| 7 | 冯晓华 | 女 | 7500 |
| 8 | 白雪 | 女 | 6500 |
| 9 | 安小花 | 女 | 4800 |
| 10 | 马新 | 女 | 6800 |
+----+-----------+------+--------+
11 rows in set (0.00 sec)

mysql> select
-> id,
-> name,
-> case sex when'男' then'F' when'女'then'M' else end as sex;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as sex' at line 4
mysql> select
-> id,
-> name,
-> case sex
-> when '男' then 'F'
-> when '女' then 'M'
-> else
-> end as sex,
-> salary
-> from employee;

运行结果及报错内容

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as sex,
salary
from employee' at line 8

明明跟着视频做的,符号也检查多了?

######~~~

语法错误,你的else后面没有指定值,当然会报错,下面几种写法都不会报错

select
 id,
 name,
case sex
when '男' then 'F'
when '女' then 'M'
else 'X'
 end as sex,
 salary
 from employee;
select
 id,
 name,
case sex
when '男' then 'F'
when '女' then 'M'
else sex
 end as sex,
 salary
 from employee;
select
 id,
 name,
case sex
when '男' then 'F'
when '女' then 'M'
 end as sex,
 salary
 from employee;

跑通了,else 后面随便加一个就可以了,这是版本不同的问题还是本身语法错误的问题啊 ?