에코마케팅 서류에 합격되었는데 SQL 테스트가 있어 급하게 공부하기! (순서, 두서없음)
LIKE
쿼리문 WHERE절에 주로 사용되며 부분적으로 일치하는 칼럼을 찾을때 사용됩니다.
SELECT * FROM [테이블명] WHERE [컬럼명] LIKE [조건]
# A로 시작하는 문자 찾기
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE 'A%'
# A로 끝나는 문자 찾기
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '%A'
# A로 포함하는 문자 찾기
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '%A%'
# A로 시작하는 두글자 문자 찾기
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE 'A_'
# 첫번째 문자가 A 가 아닌 모든 문자열 찾기
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '[^A]'
# 첫번째 문자가 A 또는 B 또는 C 문자열 찾기
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '[ABC]'
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '[A-C]'
DATE_FROMAT (매우 중요!!!!!!!!!!!! 자주 나옴 별별별)
DATE_FORMAT(날짜 , 형식) : 날짜를 지정한 형식으로 출력 (+추가 : 이름 설정도 꼭 할것!)
# 가장 기본 YYYY-MM--DD 구조
DATE_FORMAT(컬럼명, '%Y-%m-%d')
결측치 처리(대체) 함수
IFNULL
첫번째 컬럼값이 NULL 이라면 두번째 인자로 대체 ( MYSQL전용문법)
SELECT IFNULL(컬럼명, 'N/A') FROM 테이블명
COALESCE
IFNULL과 비슷한 기능을 하고 SQL 표준함수
SELECT COALESCE(컬럼명, 'N/A') FROM 테이블명
LIMIT
상위 인덱스를 출력
A번 인덱스 쿼리부터 B개 출력
# 상위 3개 데이터 출력
LIMIT 3
# 3번 인덱스 쿼리부터 3개 출력
LIMIT 3,3
CASE
CASE와 END를 묶어주고 그 안에 조건을 입력
- WHEN - THEN은 항상 같이 사용 되어야 한다.
- ELSE 가 없다면, TRUE가 아닐 경우 NULL 반환
# CASE문 사용 방법
CASE
WHEN 조건1 THEN 결과값1
WHEN 조건2 THEN 결과값2
ELSE 결과값
END AS 변수명
USING (JOIN 과 함께 쓰임)
이름이 같은 열을 기준으로 조인 수행
# 열이름이 반드시 같아야 함
JOIN FISH_NAME_INFO USING(FISH_TYPE);
# 열이름이 달라도 가능
INNER JOIN FISH_NAME_INFO ON FISH_INFO.FISH_TYPE = FISH_NAME_INFO.FISH_TYPE;
+ 추가)
에코마케팅 코딩테스트는 Python 1문제, SQL 2문제가 나왔네요.
분명 코딩테스트 3일전에 전화해서 문의했을때에는 둘중 하나 언어만 선택이라고 했었는데....
SQL 1문제는 프로그래머스에서 나오는 일반적인 문제가 아니라 좀 독특했고
Python 문제는 별로 어렵지 않았는데 방황하는 제 모습에 반성하고 코딩테스트 준비 시작...