SQL 복습하기
SQL을 사용하기 위해서는 디비버라는 어플리케이션 사용이 유용하다.
1 주차
● 데이터와 컬럼
데이터를 나누는 방법으로 테이블이라는 커다란 칸 안에 칼럼으로 분류를 해주고 있다.
● 실행해보기
테이블 안에 전체 칼럼 가져오기
현제 연결 되어 있는 서버의 데이터에는 아래와 같은 테이블이 있다.
● 필요한 항목(칼럼)만 가져오는 법
별명 지정 방법 : 컬럼 옆쪽에 별명을 적어줍니다. (아래 두 가지 방법 모두 가능합니다)
구분
|
영문, 언더바
|
특수문자, 한글
|
방법
|
별명만 적음
|
“별명” 으로, 큰 따옴표 안에 적어줌
|
예시
|
ord_no
|
“ord no” ”주문번호”
|
예시 )
'' 와 ""의 차이 없이 사용은 가능하다.
● 조건에 맞는 데이터만 필요할 때, SQL로 필터링하기 ( WHERE )
가져온 칼럼 중에서 필요한 데이터만 필터링하고 싶을 때 사용 할 수 있다.
예시로 손님의 나이 중에 21살인 사람만 목록을 가져오고 싶다면?
숫자가 아니 성별/문자도 가능하다.
WHERE의 구조
● WHERE + (비교연산, BETWEEN, IN, LIKE)
WHERE을 포함한 비교문을 사용할 때 나타내는 연산표시
● BETWEEN : 일정 범위에 필요한 값을 가져오기
10살부터 20살까지 모든 사람들을 가져오기
● IN : 칼럼의 값 중에서 내가 원하는 값만 가져오기
21,25,27살인 사람들만 가져온 기기
● LIKE : 완전히 같은 값은 아니지만 비슷한 값을 가져오기 위해
김으로 시작하는 모든 글자를 가져올 수 있다.
● 여러 가지 조건으로 검색하기
조건을 합치기 위해서는 'AND'를 사용하여 조건문을 합쳐준다.
조건물을 합쳐줄 때 사용하는 연산 종류
나이가 21살이거나 성별이 남자인 사람들 전부
성별이 남자가 아닌 전부
한국음식점이며 가격이 30000원 이상인 가게
● 에러메시지
FROM payments로 입
SELECT pay_type로 입력
WHERE cuisine_type = 'korean'로 입력
◎ 숙제 풀이 ◎
음식점 시간과 타입에 맞추어 필터링하기
2 주차
데이터 조회와 엑셀 함수 적용을 한 번에 끝내기
(SUM, AVG, COUNT, MIN, MAX)
as 말고 한 칸 띄우고 ""로 사용해도 된다.
( SUM, AVG ) 합과 평균
칼럼의 전체 값을 합산 및 평균을 계산하여 준다.
( COUNT ) 숫자 세기
첫 번째 COUNT는 모든 값을 카운팅 한 것이며
두 번째 카운트는 중복값을 제외하고 카운트를 한 것이다.
결제 수단은 현금과 카드 이므로 2가지이다.
( MIN, MAX ) 최솟값 최댓값 구하기
가격 중에서 최대 최소 값 표기
주문 개수의 최대 최소
WHERE 절로 원하는 데이터를 뽑고, 계산해 보기
30000원 이상 주문한 개수는
100개이다.
한국음식의 평균 가격
범주별 연산을 한 번에 끝내기 (GROUP BY)
가게별 총수입
가게 별로 30000원 이상 주문한 횟수
음식점 별로 가장 큰 금액
date 값을 가져오는데 ''을 붙여서 가져올 수도 있다.
결재 방식의 가장 최근 일자를 가져오기
Query 결과를 정렬하여 업무에 바로 사용하기 (ORDER BY)
sum(price)의 값이 작은 값부터 큰 값 순으로 오름차 순으로 정렬
DESC를 끝에 붙이면 반대로 내림차순으로 정렬이 된다.
음식점 별로 가장 큰 금액 조회 후 내림차 순으로 정렬
이름으로 묶고 이름 순으로 내림차순 정렬
콤마를 찍어서 두 가지로 정렬해 줄 수 있으며 왼쪽순으로 먼저 정렬을 해준다.
◎ 숙제 ◎
음식점이름과 최소가격 최대가격을 구하고 최소 가격 내림차 순으로 정렬
3 주차
업무 필요한 문자 포맷이 다를 때, SQL로 가공하기 (REPLACE, SUBSTRING, CONCAT)
REPLACE
Blue를 찾아서 Pink로 바꾸기
문곡리라는 글자를 찾아서 문 가리로 변경을 해주는 것
SUBSTRING(SUBSTR)
서울특별시 % 의 주소 내용들 중에 앞에서
두 번째 글자까지만 입력할 수 있도록
CONCAT
글자내용을 넣고 싶은 대로 합치거나 더할 수 있다.
문자 데이터를 바꾸고, GROUP BY 사용하기
서울 지역만 필터링해서 각음식점 별로 나눈 다음 평균금액을 설정한다.
고객의 평균 연령을 구하고 이메일 도매인에 해당하는 고객수를 카운팅 한다
FORMAT : 내가 원하는 숫자만 표시 가능하다.
예시) ##0.0000 : 소수점 4째 자리까지.
# = 숫자가 있으면 표기
0 = 숫자가 있던 없던 표기
소숫점 반올림
가게 정보를 concat 합쳐서 맞추고 count로 동일한 값을 카운트
'AI 코딩 교육 TIL' 카테고리의 다른 글
2024-02-08 AI 코딩 TIL (0) | 2024.02.16 |
---|---|
2024-02-07 AI 코딩 TIL (0) | 2024.02.16 |
2024-02-01 AI 코딩 TIL (0) | 2024.02.16 |
2024-01-31 AI 코딩 TIL (1) | 2024.02.16 |
2024-01-30 AI 코딩 TIL (0) | 2024.02.16 |