챗지피티랑 공부하기

챗 지피티와 SQL 공부하기 - Day3

뚜D 2024. 8. 9. 10:01

[복습]

SELECT

: 데이터베이스에서 데이터를 조회할 때 사용하는 명령문 

> SELECT 열 이름 FROM 테이블 이름;

 

 

1. 전체 열 조회

: 테이블의 모든 열을 조회하려면 * 기호를 사용

> SELECT * FROM employees;

 

2. 특정 열 조회

: 열 이름을 지정 

> SELECT first_name, last_name FROM employees;

 

3. 조건부 조회

: WHERE절 사용 (select > from > where 순)

> SELECT * FROM employees WHERE department = 'HR';

 

4. 정렬된 조회 ORDER BY

: 결과를 정렬하고 싶다면 'ORDER BY' 절을 사용

> SELECT * FROM employees ORDER BY last_name;

(last name 내림차순)

 

5. 중복 제거된 조회 SELECT DISTINCT

: 중복값을 제거하려면 'DISTINCT' 키워드를 사용

> SELECT DISTINCT FROM department FROM employees;

 

6. 여러 가지를 한꺼번에 사용하는 순서

: SELECT > DISTINCT > FROM > WHERE > ORDER BY

> 어떤 표의 어떤 을 어떻게 조회할 건지 / 그 중 뭘 불러올 건지 / 정렬할건지 

 

[예제]

employees 테이블에서 department가 'IT'인 직원의 first_name과 last_name을 중복 없이 조회하고, last_name 기준으로 정렬하는 SQL 문 작성

 

> SELECT DISTINCT first_name, last_name * FROM employees WHERE department = 'IT' ORDER BY last_name;

*오답 수정 : * 는 모든 열을 선택할 때 사용되지만 특정 열을 선택할 때는 필요하지 않다.

 

> SELECT DISTINCT first_name, last_name FROM employees WHERE department = 'IT' ORDER BY last_name;

 


주요 집계 함수

1. COUNT()

: 테이블의 행의 수 or 열에서 NULL이 아닌 값의 수를 계산합니다.

 

ex. 테이블의 총 행 수를 계산

> SELECT COUNT(*) FROM sales;

결과 : 5

 

ex. product_name 중 NULL이 아닌 값의 수를 계산

>SELECT COUNT(product_name) FROM sales;

 

2. SUM() 

: 특정 열의 합계를 계산합니다. 주로 숫자 열에 사용됩니다.

 

ex. 모든 판매(열)의 총 수량을 계산 

> SELECT SUM(quantity) FROM sales;

결과 : 15

 

3. AVG()

: 특정 열의 평균 값을 계산합니다. 

 

ex. 모든 판매의 평균 가격을 계산

> SELECT AVG(price) FROM sales;

답 : 465

 

4. MAX() / MIN()

: 특정 열의 최대값 / 최소값 반환

ex. 판매된 제품의 최대 가격 조회 

> SELECT MAX(price) FROM sales;

 

[예제]

1. 각 제품의 총 판매 수량

> SELECT SUM(quantity) 각 제품은 어떻게..?

 

*'각 제품'별 데이터 조회는 SELECT product_name 

*(추가) 데이터를 환산해서 특정 테이블로 만들어야 할 때는 AS ___ 를 이용

*(추가) ORDER BY 정렬해야 보기 좋으므로 

 

> SELECT product_name SUM(quantity) AS total_quantity FROM sales ORDER BY product_name;

 

2. 각 제품의 총 판매 금액 

> SELECT product_name SUM(price) FROM sales; (X)

*총 판매 금액은 판매 개수 x 가격이므로  SUM(quantity * price)를 쓰면 됨.

 

> SELECT product_name SUM(quantity * price) FROM slaes;

 

 


[복습]

 

1. SELECT : 데이터 조회

- SELECT * FROM ~ : 전체 열 조회 

- SELECT ___ FROM ~ : 특정 열 조회

- SELECT DISTINCT * FROM ~ : 중복값 제외하고 특정 열 조회 

2. INSERT INTO : 새로운 데이터를 테이블에 추가 

3. CREATE TABLE : 새로운 테이블을 생성 

4. INT 

5. PRIMARY KEY

6. VARCHAR(nn)

7. DECIMAL (n, m)

8. WHERE = ___ : 특정 조건을 만족하는 행 선택

9. COUNT, SUM, AVG, MAX, MIN() : 기본 함수

10. ORDER BY :  정렬

11. AS : 새로운 테이블 생성 시 환산값을 나타낼 열의 이름

 

 

 

내일은 위에 정리한 것들을 바탕으로 지피티한테 문제 내달라고 하면 되겠다.

자꾸 까먹는다 ㅠ 익숙해질때까지 반복적으로 연습해야겠다. 

728x90
반응형