반응형
목차
문제
Table: Salary
+-------------+----------+
| Column Name | Type |
+-------------+----------+
| id | int |
| name | varchar |
| sex | ENUM |
| salary | int |
+-------------+----------+
id is the primary key for this table.
The sex column is ENUM value of type ('m', 'f').
The table contains information about an employee.
Write an SQL query to swap all 'f' and 'm' values (i.e., change all 'f' values to 'm' and vice versa) with a single update statement and no intermediate temporary tables.
Note that you must write a single update statement, do not write any select statement for this problem.
The query result format is in the following example.
Example 1:
Input:
Salary table:
+----+------+-----+--------+
| id | name | sex | salary |
+----+------+-----+--------+
| 1 | A | m | 2500 |
| 2 | B | f | 1500 |
| 3 | C | m | 5500 |
| 4 | D | f | 500 |
+----+------+-----+--------+
Output:
+----+------+-----+--------+
| id | name | sex | salary |
+----+------+-----+--------+
| 1 | A | f | 2500 |
| 2 | B | m | 1500 |
| 3 | C | f | 5500 |
| 4 | D | m | 500 |
+----+------+-----+--------+
Explanation:
(1, A) and (3, C) were changed from 'm' to 'f'.
(2, B) and (4, D) were changed from 'f' to 'm'.
풀이
# Write your MySQL query statement below
update Salary
set
sex = case
when sex = 'm' then 'f'
else 'm' end
/* Write your PL/SQL query statement below */
update Salary
set
sex = case
when sex = 'm' then 'f'
else 'm' end
반응형
'코딩테스트 > SQL 문제풀이' 카테고리의 다른 글
[MySQL/Oracle] 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2022.11.12 |
---|---|
[MySQL/Oracle] 진료과별 총 예약 횟수 출력하기 (0) | 2022.11.12 |
[MySQL/Oracle] 1873. Calculate Special Bonus (0) | 2022.11.11 |
[MySQL/Oracle] 1693. Daily Leads and Partners (0) | 2022.11.08 |
[MySQL/Oracle] 1741. Find Total Time Spent by Each Employee (0) | 2022.11.08 |
댓글