Skip to content

Commit 9856280

Browse files
committed
sql
1 parent 9e9f870 commit 9856280

File tree

10 files changed

+248
-0
lines changed

10 files changed

+248
-0
lines changed

programmers/131117.sql

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
SELECT
2+
f.PRODUCT_ID,
3+
f.PRODUCT_NAME,
4+
SUM(f.PRICE * o.AMOUNT) TOTAL_SALES
5+
FROM
6+
FOOD_PRODUCT f
7+
JOIN FOOD_ORDER o ON f.PRODUCT_ID = o.PRODUCT_ID
8+
WHERE
9+
o.PRODUCE_DATE LIKE '2022-05%'
10+
GROUP BY
11+
PRODUCT_ID,
12+
PRODUCT_NAME
13+
ORDER BY
14+
TOTAL_SALES DESC,
15+
PRODUCT_ID;

programmers/131124.sql

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
WITH
2+
HIGHEST_REVIEWER AS (
3+
SELECT
4+
MEMBER_ID,
5+
COUNT(*) NUM_REVIEWS
6+
FROM
7+
REST_REVIEW
8+
GROUP BY
9+
MEMBER_ID
10+
ORDER BY
11+
NUM_REVIEWS DESC
12+
LIMIT
13+
1
14+
)
15+
SELECT
16+
p.MEMBER_NAME,
17+
r.REVIEW_TEXT,
18+
DATE_FORMAT (r.REVIEW_DATE, '%Y-%m-%d') REVIEW_DATE
19+
FROM
20+
MEMBER_PROFILE p
21+
JOIN REST_REVIEW r ON p.MEMBER_ID = r.MEMBER_ID
22+
JOIN HIGHEST_REVIEWER hr ON r.MEMBER_ID = hr.MEMBER_ID
23+
ORDER BY
24+
r.REVIEW_DATE,
25+
r.REVIEW_TEXT;

programmers/131534.sql

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
WITH
2+
USER_JOINED_2021 AS (
3+
SELECT
4+
USER_ID
5+
FROM
6+
USER_INFO
7+
WHERE
8+
JOINED LIKE '2021-%'
9+
)
10+
SELECT
11+
YEAR (s.SALES_DATE) YEAR,
12+
MONTH (s.SALES_DATE) MONTH,
13+
COUNT(DISTINCT u.USER_ID) PURCHASED_USERS,
14+
ROUND(
15+
COUNT(DISTINCT u.USER_ID) / (
16+
SELECT
17+
COUNT(*)
18+
FROM
19+
USER_JOINED_2021
20+
),
21+
1
22+
) PURCHASED_RATIO
23+
FROM
24+
ONLINE_SALE s
25+
JOIN USER_JOINED_2021 u ON s.USER_ID = u.USER_ID
26+
GROUP BY
27+
YEAR,
28+
MONTH
29+
ORDER BY
30+
YEAR,
31+
MONTH;

programmers/133027.sql

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
SELECT
2+
F.FLAVOR
3+
FROM
4+
FIRST_HALF F
5+
LEFT JOIN (
6+
SELECT
7+
FLAVOR,
8+
SUM(TOTAL_ORDER) AS TOTAL_ORDER_SUM
9+
FROM
10+
JULY
11+
GROUP BY
12+
FLAVOR
13+
) J ON F.FLAVOR = J.FLAVOR
14+
GROUP BY
15+
F.FLAVOR
16+
ORDER BY
17+
SUM(F.TOTAL_ORDER + COALESCE(J.TOTAL_ORDER_SUM, 0)) DESC
18+
LIMIT
19+
3;
20+
21+
--
22+
SELECT
23+
h.FLAVOR
24+
FROM
25+
FIRST_HALF h
26+
JOIN JULY j ON h.FLAVOR = j.FLAVOR
27+
GROUP BY
28+
h.FLAVOR
29+
ORDER BY
30+
SUM(h.TOTAL_ORDER + j.TOTAL_ORDER) DESC
31+
LIMIT
32+
3;

programmers/144854.sql

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
SELECT
2+
b.BOOK_ID,
3+
a.AUTHOR_NAME,
4+
DATE_FORMAT (b.PUBLISHED_DATE, '%Y-%m-%d') PUBLISHED_DATE
5+
FROM
6+
BOOK b
7+
JOIN AUTHOR a ON b.AUTHOR_ID = a.AUTHOR_ID
8+
WHERE
9+
b.CATEGORY = '경제'
10+
ORDER BY
11+
PUBLISHED_DATE;

programmers/157339.sql

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
WITH
2+
SEDAN_OR_SUV AS (
3+
SELECT
4+
CAR_ID,
5+
CAR_TYPE,
6+
DAILY_FEE
7+
FROM
8+
CAR_RENTAL_COMPANY_CAR
9+
WHERE
10+
CAR_TYPE IN ('세단', 'SUV')
11+
),
12+
AVAILABLE_CARS AS (
13+
SELECT
14+
c.CAR_ID
15+
FROM
16+
SEDAN_OR_SUV c
17+
WHERE
18+
NOT EXISTS (
19+
SELECT
20+
1
21+
FROM
22+
CAR_RENTAL_COMPANY_RENTAL_HISTORY h
23+
WHERE
24+
h.CAR_ID = c.CAR_ID
25+
AND NOT (
26+
h.END_DATE < '2022-11-01'
27+
OR h.START_DATE > '2022-11-30'
28+
)
29+
)
30+
),
31+
DISCOUNTED_FEES AS (
32+
SELECT
33+
c.CAR_ID,
34+
c.CAR_TYPE,
35+
ROUND(30 * c.DAILY_FEE * (1 - p.DISCOUNT_RATE / 100)) FEE
36+
FROM
37+
SEDAN_OR_SUV c
38+
JOIN AVAILABLE_CARS a ON c.CAR_ID = a.CAR_ID
39+
LEFT JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN p ON c.CAR_TYPE = p.CAR_TYPE
40+
AND p.DURATION_TYPE = '30일 이상'
41+
)
42+
SELECT
43+
CAR_ID,
44+
CAR_TYPE,
45+
FEE
46+
FROM
47+
DISCOUNTED_FEES
48+
WHERE
49+
FEE >= 500000
50+
AND FEE < 2000000
51+
ORDER BY
52+
FEE DESC,
53+
CAR_TYPE,
54+
CAR_ID DESC;

programmers/59042.sql

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
SELECT
2+
o.ANIMAL_ID,
3+
o.NAME
4+
FROM
5+
ANIMAL_OUTS o
6+
LEFT JOIN ANIMAL_INS i ON o.ANIMAL_ID = i.ANIMAL_ID
7+
WHERE
8+
i.ANIMAL_ID IS NULL
9+
--
10+
SELECT
11+
o.ANIMAL_ID,
12+
o.NAME
13+
FROM
14+
ANIMAL_OUTS o
15+
WHERE
16+
NOT EXISTS (
17+
SELECT
18+
1
19+
FROM
20+
ANIMAL_INS i
21+
WHERE
22+
o.ANIMAL_ID = i.ANIMAL_ID
23+
)
24+
ORDER BY
25+
o.ANIMAL_ID;

programmers/59043.sql

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
SELECT
2+
o.ANIMAL_ID,
3+
o.NAME
4+
FROM
5+
ANIMAL_OUTS o
6+
JOIN ANIMAL_INS i ON o.ANIMAL_ID = i.ANIMAL_ID
7+
WHERE
8+
o.DATETIME < i.DATETIME
9+
ORDER BY
10+
i.DATETIME;

programmers/59044.sql

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
SELECT
2+
i.NAME,
3+
i.DATETIME
4+
FROM
5+
ANIMAL_INS i
6+
LEFT JOIN ANIMAL_OUTS o ON i.ANIMAL_ID = o.ANIMAL_ID
7+
WHERE
8+
o.ANIMAL_ID IS NULL
9+
ORDER BY
10+
i.DATETIME
11+
LIMIT
12+
3;
13+
14+
--
15+
SELECT
16+
i.NAME,
17+
i.DATETIME
18+
FROM
19+
ANIMAL_INS i
20+
WHERE
21+
NOT EXISTS (
22+
SELECT
23+
1
24+
FROM
25+
ANIMAL_OUTS o
26+
WHERE
27+
o.ANIMAL_ID = i.ANIMAL_ID
28+
)
29+
ORDER BY
30+
i.DATETIME
31+
LIMIT
32+
3;

programmers/59045.sql

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
SELECT
2+
o.ANIMAL_ID,
3+
o.ANIMAL_TYPE,
4+
o.NAME
5+
FROM
6+
ANIMAL_OUTS o
7+
JOIN ANIMAL_INS i ON o.ANIMAL_ID = i.ANIMAL_ID
8+
WHERE
9+
i.SEX_UPON_INTAKE LIKE 'Intact%'
10+
AND (
11+
o.SEX_UPON_OUTCOME LIKE 'Spayed%'
12+
OR o.SEX_UPON_OUTCOME LIKE 'Neutered%'
13+
)

0 commit comments

Comments
 (0)