brunch

You can make anything
by writing

C.S.Lewis

by 기로기 Oct 24. 2022

[패스트캠퍼스]SQL 2주차

SQL로 시작하는 데이터분석 첫걸음

Where 


연산자 종류
비교: =, !=, >, >=, <, <=


기타 주요 연산자
BETWEEN: WHERE speed BETWEEN A AND B
IN: Where type IN ('b', 'n') => OR로 보면 된다.

NULL: IS NULL or IS NOT NULL 만 = or != 사용X


-> 논리
And: Where speed <= AND type= ?
OR: where type='bug' OR type= ?
NOT: where speed <= AND NOT(type=?)




ORDER BY


컬럼이름(복수개 입력가능) ASC (기본조건) 반대는 DESC (내림차순)
ex. ORDER BY attack DESC, defense 첫 컬럼부터 차례대로 정렬조건에 맞게 진행 첫 정렬에서 값이 같은 애들만 두번째 조건에서 정렬이 일어남.
번호로도 컬럼 지정가능 ex. ORDER BY 3 DESC, 4;


RANK

 RANK () OVER (ORDER BY 컬럼이름) ->쿼리 안에서만 유효 테이블엔 영향 X, SELECT 절에 위치




문자열 데이터 처리


LOCATE: LOCATE("A", "ABC") 

    => A가 몇변째인지 알아내는...

       여러개면 가장 빠른 순번, 없다면 0 반환
SUBSTRING: SUBSTRINg("ABC", n) 

    => n번째 문제부터 반환, 이것도 컬럼이름 사용 가능 

         n이 문자열보다 크면 NULL 반환
RIGHT, LEFT: 오른쪽or 왼쪽에서 n번쨰까지
UPPER, LOWER: 소->대문자.  대->소문자
LENGTH: 문자열 길이 반환
CONCAT: 문자열 합치기
REPLACE: REPLACE("ABC", "A", "Z") 

    => A를 Z로 바꿔


숫자형 데이터 처리

ABS(숫자) -> 절댓값 반환
CEILING, FLOOR: 숫자를 정수로 올림/내림 반환
ROUND, TRUNCATE: (숫자, 자릿수): 소숫점 자릿수까지 반올림/버림해서 반환
POWER: (숫자A, 숫자B) => A^B
MOD: A/B 의 나머지


날짜형 데이터 처리

NOW(날짜와 시간), CURRENT_DATE, CURRENT_TIME
YEAR, MONTH, MONTHNAME ex. YEAR(NOW())
DAYNAME, DAYOFMONTH, DAYOFWEEK(날짜의 요일: 일요일은 1), WEEK(해당 연도에 몇번째 주)
HOUR, MINUTE, SECOND
DATA_FORMAT(날짜/시간,형식): 날짜/시간을 다른 형식으로 바꿔서 ('1996-11-06 15:34:58','%Y년 %m월 %d일 %H시 %i분 %s초')
DATEDIFF, TIMEDIFF 날짜, 시간 차이



GROUP BY


SELECT 컬럼이름, -- , 그룹함수
FROM 테이블 이름
WHERE 조건식
GROUP BY 컬럼 이름
HAVING 조건식




갑자기 난이도가 올라간 2주차 SQL 강의 정리  끝 _. 

작가의 이전글 [패스트캠퍼스] SQL 강의 1주차
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari