From 512bc73ac5a52b0878cb3eae5e29812610856013 Mon Sep 17 00:00:00 2001 From: Ivan Reshetnikov Date: Sat, 28 Jan 2023 20:58:37 +0500 Subject: [PATCH] Problem 627: swap salary --- problems/0627-swap-salary/main.sql | 1 + problems/0627-swap-salary/readme.md | 54 +++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 problems/0627-swap-salary/main.sql create mode 100644 problems/0627-swap-salary/readme.md diff --git a/problems/0627-swap-salary/main.sql b/problems/0627-swap-salary/main.sql new file mode 100644 index 0000000..843cb69 --- /dev/null +++ b/problems/0627-swap-salary/main.sql @@ -0,0 +1 @@ +UPDATE Salary SET sex = CASE WHEN sex = "f" THEN "m" ELSE "f" END; diff --git a/problems/0627-swap-salary/readme.md b/problems/0627-swap-salary/readme.md new file mode 100644 index 0000000..3a0ebfc --- /dev/null +++ b/problems/0627-swap-salary/readme.md @@ -0,0 +1,54 @@ +# Swap salary + +[Leetcode](https://leetcode.com/problems/swap-salary/) + +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'.