Skip to content

Commit a2f6ec2

Browse files
authored
feat: update sql solutions to lc problems (#1174)
1 parent b9f98f0 commit a2f6ec2

File tree

15 files changed

+108
-107
lines changed

15 files changed

+108
-107
lines changed

solution/0100-0199/0183.Customers Who Never Order/README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,23 @@
5757
### **SQL**
5858

5959
```sql
60-
SELECT Name AS Customers
60+
# Write your MySQL query statement below
61+
SELECT name AS Customers
6162
FROM Customers
6263
WHERE
6364
id NOT IN (
64-
SELECT CustomerId
65+
SELECT customerId
6566
FROM Orders
6667
);
6768
```
6869

6970
```sql
70-
SELECT
71-
c.Name AS Customers
71+
# Write your MySQL query statement below
72+
SELECT name AS Customers
7273
FROM
73-
customers AS c
74-
LEFT JOIN orders AS o ON c.Id = o.CustomerId
75-
WHERE o.CustomerId IS NULL;
74+
Customers AS c
75+
LEFT JOIN Orders AS o ON c.id = o.customerId
76+
WHERE o.id IS NULL;
7677
```
7778

7879
<!-- tabs:end -->

solution/0100-0199/0183.Customers Who Never Order/README_EN.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,22 +78,23 @@ Orders table:
7878
### **SQL**
7979

8080
```sql
81-
SELECT Name AS Customers
81+
# Write your MySQL query statement below
82+
SELECT name AS Customers
8283
FROM Customers
8384
WHERE
8485
id NOT IN (
85-
SELECT CustomerId
86+
SELECT customerId
8687
FROM Orders
8788
);
8889
```
8990

9091
```sql
91-
SELECT
92-
c.Name AS Customers
92+
# Write your MySQL query statement below
93+
SELECT name AS Customers
9394
FROM
94-
customers AS c
95-
LEFT JOIN orders AS o ON c.Id = o.CustomerId
96-
WHERE o.CustomerId IS NULL;
95+
Customers AS c
96+
LEFT JOIN Orders AS o ON c.id = o.customerId
97+
WHERE o.id IS NULL;
9798
```
9899

99100
<!-- tabs:end -->
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
SELECT Name AS Customers
1+
# Write your MySQL query statement below
2+
SELECT name AS Customers
23
FROM Customers
34
WHERE
45
id NOT IN (
5-
SELECT CustomerId
6+
SELECT customerId
67
FROM Orders
78
);

solution/0100-0199/0184.Department Highest Salary/README.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -122,23 +122,18 @@ WHERE
122122
```sql
123123
# Write your MySQL query statement below
124124
WITH
125-
t AS (
125+
T AS (
126126
SELECT
127-
departmentId,
128-
name,
129-
salary,
127+
*,
130128
rank() OVER (
131129
PARTITION BY departmentId
132130
ORDER BY salary DESC
133131
) AS rk
134132
FROM Employee
135133
)
136-
SELECT
137-
d.name AS Department,
138-
t.name AS Employee,
139-
salary AS Salary
134+
SELECT d.name AS Department, t.name AS Employee, salary AS Salary
140135
FROM
141-
t
136+
T AS t
142137
JOIN Department AS d ON t.departmentId = d.id
143138
WHERE rk = 1;
144139
```

solution/0100-0199/0184.Department Highest Salary/README_EN.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -120,23 +120,18 @@ WHERE
120120
```sql
121121
# Write your MySQL query statement below
122122
WITH
123-
t AS (
123+
T AS (
124124
SELECT
125-
departmentId,
126-
name,
127-
salary,
125+
*,
128126
rank() OVER (
129127
PARTITION BY departmentId
130128
ORDER BY salary DESC
131129
) AS rk
132130
FROM Employee
133131
)
134-
SELECT
135-
d.name AS Department,
136-
t.name AS Employee,
137-
salary AS Salary
132+
SELECT d.name AS Department, t.name AS Employee, salary AS Salary
138133
FROM
139-
t
134+
T AS t
140135
JOIN Department AS d ON t.departmentId = d.id
141136
WHERE rk = 1;
142137
```
Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
# Write your MySQL query statement below
22
WITH
3-
t AS (
3+
T AS (
44
SELECT
5-
departmentId,
6-
name,
7-
salary,
5+
*,
86
rank() OVER (
97
PARTITION BY departmentId
108
ORDER BY salary DESC
119
) AS rk
1210
FROM Employee
1311
)
14-
SELECT
15-
d.name AS Department,
16-
t.name AS Employee,
17-
salary AS Salary
12+
SELECT d.name AS Department, t.name AS Employee, salary AS Salary
1813
FROM
19-
t
14+
T AS t
2015
JOIN Department AS d ON t.departmentId = d.id
2116
WHERE rk = 1;

solution/0100-0199/0185.Department Top Three Salaries/README.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -125,25 +125,20 @@ WHERE
125125
```sql
126126
# Write your MySQL query statement below
127127
WITH
128-
t AS (
128+
T AS (
129129
SELECT
130-
departmentId,
131-
name,
132-
salary,
130+
*,
133131
dense_rank() OVER (
134132
PARTITION BY departmentId
135133
ORDER BY salary DESC
136134
) AS rk
137135
FROM Employee
138136
)
139-
SELECT
140-
d.name AS Department,
141-
t.name AS Employee,
142-
salary AS Salary
137+
SELECT d.name AS Department, t.name AS Employee, salary AS Salary
143138
FROM
144-
t
139+
T AS t
145140
JOIN Department AS d ON t.departmentId = d.id
146-
WHERE rk < 4;
141+
WHERE rk <= 3;
147142
```
148143

149144
<!-- tabs:end -->

solution/0100-0199/0185.Department Top Three Salaries/README_EN.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,25 +121,20 @@ WHERE
121121
```sql
122122
# Write your MySQL query statement below
123123
WITH
124-
t AS (
124+
T AS (
125125
SELECT
126-
departmentId,
127-
name,
128-
salary,
126+
*,
129127
dense_rank() OVER (
130128
PARTITION BY departmentId
131129
ORDER BY salary DESC
132130
) AS rk
133131
FROM Employee
134132
)
135-
SELECT
136-
d.name AS Department,
137-
t.name AS Employee,
138-
salary AS Salary
133+
SELECT d.name AS Department, t.name AS Employee, salary AS Salary
139134
FROM
140-
t
135+
T AS t
141136
JOIN Department AS d ON t.departmentId = d.id
142-
WHERE rk < 4;
137+
WHERE rk <= 3;
143138
```
144139

145140
<!-- tabs:end -->
Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
# Write your MySQL query statement below
22
WITH
3-
t AS (
3+
T AS (
44
SELECT
5-
departmentId,
6-
name,
7-
salary,
5+
*,
86
dense_rank() OVER (
97
PARTITION BY departmentId
108
ORDER BY salary DESC
119
) AS rk
1210
FROM Employee
1311
)
14-
SELECT
15-
d.name AS Department,
16-
t.name AS Employee,
17-
salary AS Salary
12+
SELECT d.name AS Department, t.name AS Employee, salary AS Salary
1813
FROM
19-
t
14+
T AS t
2015
JOIN Department AS d ON t.departmentId = d.id
21-
WHERE rk < 4;
16+
WHERE rk <= 3;

solution/0100-0199/0196.Delete Duplicate Emails/README.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,29 @@ Person 表:
6161
### **SQL**
6262

6363
```sql
64+
# Write your MySQL query statement below
6465
DELETE FROM Person
6566
WHERE
66-
Id NOT IN (
67-
SELECT
68-
MIN(Id)
69-
FROM (SELECT * FROM Person) AS p
70-
GROUP BY p.Email
67+
id NOT IN (SELECT min(id) FROM (SELECT * FROM Person) AS p GROUP BY email);
68+
```
69+
70+
```sql
71+
# Write your MySQL query statement below
72+
DELETE FROM Person
73+
WHERE
74+
id NOT IN (
75+
SELECT id
76+
FROM
77+
(
78+
SELECT
79+
id,
80+
row_number() OVER (
81+
PARTITION BY email
82+
ORDER BY id
83+
) AS rk
84+
FROM Person
85+
) AS p
86+
WHERE rk = 1
7187
);
7288
```
7389

0 commit comments

Comments
 (0)