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

+8-7
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

+8-7
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 -->
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

+4-9
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

+4-9
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
```
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

+5-10
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

+5-10
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 -->
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

+21-5
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

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

+21-5
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,29 @@ Person table:
5555
### **SQL**
5656

5757
```sql
58+
# Write your MySQL query statement below
5859
DELETE FROM Person
5960
WHERE
60-
Id NOT IN (
61-
SELECT
62-
MIN(Id)
63-
FROM (SELECT * FROM Person) AS p
64-
GROUP BY p.Email
61+
id NOT IN (SELECT min(id) FROM (SELECT * FROM Person) AS p GROUP BY email);
62+
```
63+
64+
```sql
65+
# Write your MySQL query statement below
66+
DELETE FROM Person
67+
WHERE
68+
id NOT IN (
69+
SELECT id
70+
FROM
71+
(
72+
SELECT
73+
id,
74+
row_number() OVER (
75+
PARTITION BY email
76+
ORDER BY id
77+
) AS rk
78+
FROM Person
79+
) AS p
80+
WHERE rk = 1
6581
);
6682
```
6783

Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1+
# Write your MySQL query statement below
12
DELETE FROM Person
23
WHERE
3-
Id NOT IN (
4-
SELECT
5-
MIN(Id)
6-
FROM (SELECT * FROM Person) AS p
7-
GROUP BY p.Email
8-
);
4+
id NOT IN (SELECT min(id) FROM (SELECT * FROM Person) AS p GROUP BY email);

solution/0100-0199/0197.Rising Temperature/README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ Weather 表:</code>
6666
### **SQL**
6767

6868
```sql
69-
SELECT w1.Id
69+
# Write your MySQL query statement below
70+
SELECT w1.id
7071
FROM
71-
Weather AS w1,
72-
Weather AS w2
73-
WHERE
74-
DATEDIFF(w1.RecordDate, w2.RecordDate) = 1
75-
AND w1.Temperature > w2.Temperature;
72+
Weather AS w1
73+
JOIN Weather AS w2
74+
ON datediff(w1.recordDate, w2.recordDate) = 1
75+
AND w1.temperature > w2.temperature;
7676
```
7777

7878
```sql

solution/0100-0199/0197.Rising Temperature/README_EN.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ In 2015-01-04, the temperature was higher than the previous day (20 -&gt; 30).
5959
### **SQL**
6060

6161
```sql
62-
SELECT w1.Id
62+
# Write your MySQL query statement below
63+
SELECT w1.id
6364
FROM
64-
Weather AS w1,
65-
Weather AS w2
66-
WHERE
67-
DATEDIFF(w1.RecordDate, w2.RecordDate) = 1
68-
AND w1.Temperature > w2.Temperature;
65+
Weather AS w1
66+
JOIN Weather AS w2
67+
ON datediff(w1.recordDate, w2.recordDate) = 1
68+
AND w1.temperature > w2.temperature;
6969
```
7070

7171
```sql
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
SELECT w1.Id
1+
# Write your MySQL query statement below
2+
SELECT w1.id
23
FROM
3-
Weather AS w1,
4-
Weather AS w2
5-
WHERE
6-
DATEDIFF(w1.RecordDate, w2.RecordDate) = 1
7-
AND w1.Temperature > w2.Temperature;
4+
Weather AS w1
5+
JOIN Weather AS w2
6+
ON datediff(w1.recordDate, w2.recordDate) = 1
7+
AND w1.temperature > w2.temperature;

0 commit comments

Comments
 (0)