Database/MySQL

[MySQL๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต] Chapter 3. ์‹ค์Šต๋ฌธ์ œ ํ’€์ด - 1 (์งˆ์˜ 3-1 ~ 3-17)

Ariella 2022. 10. 19. 18:35
๋ฐ˜์‘ํ˜•

 

 

 

๐Ÿ™Œ ๋”๋ณด๊ธฐ ๋ž€์„ ์—ด๊ธฐ ์ „ ๋จผ์ € ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์ž.

 

 

 


 

 

3-1. ๋ชจ๋“  ๋„์„œ์˜ ์ด๋ฆ„๊ณผ ๊ฐ€๊ฒฉ์„ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT bookname, price
FROM Book;

 

result)

 

 

3-2. ๋ชจ๋“  ๋„์„œ์˜ ๋„์„œ๋ฒˆํ˜ธ, ๋„์„œ์ด๋ฆ„, ์ถœํŒ์‚ฌ, ๊ฐ€๊ฒฉ์„ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT bookid, bookname, publisher, price
FROM Book;

 

result)

 

 

3-3. ๋„์„œ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ชจ๋“  ์ถœํŒ์‚ฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT DISTINCT publisher
FROM Book;

 

result) 

 

 

3-4. ๊ฐ€๊ฒฉ์ด 20,000์› ๋ฏธ๋งŒ์ธ ๋„์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT bookname
FROM Book
WHERE price < 20000;

 

result)

 

 

3-5. ๊ฐ€๊ฒฉ์ด 10,000์› ์ด์ƒ 20,000 ์ดํ•˜์ธ ๋„์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

- solution 1 : ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

SELECT *
FROM Book
WHERE price BETWEEN 10000 AND 20000;

- solution 2 : ๋น„๊ต์—ฐ์‚ฐ์ž

SELECT *
FROM Book
WHERE price >= 10000 AND price <= 20000;

 

result)

 

 

3-6. ์ถœํŒ์‚ฌ๊ฐ€ "๊ตฟ์Šคํฌ์ธ " ํ˜น์€ "๋Œ€ํ•œ๋ฏธ๋””์–ด"์ธ ๋„์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

- solution 1

SELECT *
FROM Book
WHERE publisher = "๊ตฟ์Šคํฌ์ธ " OR publisher = "๋Œ€ํ•œ๋ฏธ๋””์–ด";

 - solution 2

SELECT *
FROM Book
WHERE publisher IN ("๊ตฟ์Šคํฌ์ธ ", "๋Œ€ํ•œ๋ฏธ๋””์–ด");

 

result)

 

 

+ 3-6. ์ถœํŒ์‚ฌ๊ฐ€ "๊ตฟ์Šคํฌ์ธ " ํ˜น์€ "๋Œ€ํ•œ๋ฏธ๋””์–ด"๊ฐ€ ์•„๋‹Œ ๋„์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT *
FROM Book
WHERE publisher NOT IN ('๊ตฟ์Šคํฌ์ธ ', '๋Œ€ํ•œ๋ฏธ๋””์–ด');

 

result)

 

 

3-7. '์ถ•๊ตฌ์˜ ์—ญ์‚ฌ'๋ฅผ ์ถœ๊ฐ„ํ•œ ์ถœํŒ์‚ฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

- solution 1

SELECT *
FROM Book
WHERE bookname = '์ถ•๊ตฌ์˜ ์—ญ์‚ฌ';

-solution 2

SELECT *
FROM Book
WHERE bookname LIKE '์ถ•๊ตฌ์˜ ์—ญ์‚ฌ';

 

result)

 

 

3-8. ๋„์„œ์ด๋ฆ„์— '์ถ•๊ตฌ'๊ฐ€ ํฌํ•จ๋œ ์ถœํŒ์‚ฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT *
FROM Book
WHERE bookname LiKE '%์ถ•๊ตฌ%';

 

result)

 

 

3-9. ๋„์„œ์ด๋ฆ„์˜ ์™ผ์ชฝ ๋‘ ๋ฒˆ์งธ ์œ„์น˜์— '๊ตฌ'๋ผ๋Š” ๋ฌธ์ž์—ด์„ ๊ฐ–๋Š” ๋„์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT *
FROM Book
WHERE bookname LIKE '_๊ตฌ%';

 

result)

 

 

3-10. ์ถ•๊ตฌ์— ๊ด€ํ•œ ๋„์„œ ์ค‘ ๊ฐ€๊ฒฉ์ด 20,000์› ์ด์ƒ์ธ ๋„์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT *
FROM Book
WHERE bookname LIKE '%์ถ•๊ตฌ%' AND
	  price >= 20000;

 

result)

 

 

3-11. ์ถœํŒ์‚ฌ๊ฐ€ '๊ตฟ์Šคํฌ์ธ ' ํ˜น์€ '๋Œ€ํ•œ๋ฏธ๋””์–ด'์ธ ๋„์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

- solution 1

SELECT *
FROM Book
WHERE publisher = '๊ตฟ์Šคํฌ์ธ ' OR
	  publisher = '๋Œ€ํ•œ๋ฏธ๋””์–ด';

-solution 2 : ๊ฐ™์€ ์†์„ฑ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ฐพ์„ ๋•Œ๋Š” IN ์—ฐ์‚ฐ์ž๊ฐ€ ๋” ์ ์ ˆํ•˜๋‹ค.

SELECT *
FROM Book
WHERE publisher IN ('๊ตฟ์Šคํฌ์ธ ', '๋Œ€ํ•œ๋ฏธ๋””์–ด');

 

result)

 

 

3-12. ๋„์„œ๋ฅผ ์ด๋ฆ„์ˆœ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT *
FROM Book
ORDER BY bookname;

 

result)

 

 

3-13. ๋„์„œ๋ฅผ ๊ฐ€๊ฒฉ์ˆœ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๊ฐ€๊ฒฉ์ด ๊ฐ™์œผ๋ฉด ์ด๋ฆ„์ˆœ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT *
FROM Book
ORDER BY price, bookname;

 

result)

 

 

3-14. ๋„์„œ๋ฅผ ๊ฐ€๊ฒฉ์˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค. ๋งŒ์•ฝ ๊ฐ€๊ฒฉ์ด ๊ฐ™๋‹ค๋ฉด ์ถœํŒ์‚ฌ์˜ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT *
FROM Book
ORDER BY price DESC, publisher ASC;

 

result)

 

 

3-15. ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ๋„์„œ์˜ ์ด ํŒ๋งค์•ก์„ ๊ตฌํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT SUM(saleprice) AS "์ด ํŒ๋งค์•ก"
FROM Orders;

 

result)

 

 

3-16. 2๋ฒˆ ๊น€์—ฐ์•„ ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ๋„์„œ์˜ ์ด ํŒ๋งค์•ก์„ ๊ตฌํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

- solution 1 : '2๋ฒˆ' ์ •๋ณด ํ™œ์šฉ

SELECT SUM(saleprice) AS "๊น€์—ฐ์•„ ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ๋„์„œ์˜ ์ด ํŒ๋งค์•ก"
FROM Orders
WHERE custid = 2;

 

- solution 2 : '๊น€์—ฐ์•„' ์ •๋ณด ํ™œ์šฉ

SELECT SUM(saleprice) AS "๊น€์—ฐ์•„ ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ๋„์„œ์˜ ์ด ํŒ๋งค์•ก"
FROM Orders, Customer
WHERE Orders.custid = Customer.custid AND
	  Customer.name LIKE '๊น€์—ฐ์•„';

 

 

 

3-17. ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ๋„์„œ์˜ ์ด ํŒ๋งค์•ก, ํ‰๊ท ๊ฐ’, ์ตœ์ €๊ฐ€, ์ตœ๊ณ ๊ฐ€๋ฅผ ๊ตฌํ•˜์‹œ์˜ค.

๋”๋ณด๊ธฐ

code)

SELECT SUM(saleprice) AS "์ด ํŒ๋งค์•ก",
	   AVG(saleprice) AS "ํ‰๊ท ๊ฐ’",
       MIN(saleprice) AS "์ตœ์ €๊ฐ€",
       MAX(saleprice) AS "์ตœ๊ณ ๊ฐ€"
FROM Orders;

 

result)

 

 

 

 

 

๋ฐ˜์‘ํ˜•