
SQL 쿼리문 기본 문법 ✅
SELECT 속성명1, 속성명2, ... FROM 테이블명ORDERY BY 기준속성1 ASC/DESC, 기준속성2 ASC/DESC, ... ;SELECT 속성명1, 속성명2, ... , 집계함수(속성명) FROM 테이블명 GROUP BY 속성명;SELECT 속성명1, 속성명2, ... FROM 테이블명 GROUP BY 속성명 HAVING 조건;SELECT 속성명1, 속성명2, ... FROM 테이블명 WHERE 속성명 IN(값1, 값2, ...);SELECT 속성명1, 속성명2, ... FROM 테이블1 JOIN 테이블2ON 테이블1.속성명 = 테이블2.속성명 ;SELECT 속성명1, 속성명2, ... FROM 테이블1 LEFT JOIN 테이블2ON 테이블1.속성명 = 테이블2.속성명 ;SELECT 속성명1, 속성명2, ... FROM 테이블1 RIGHT JOIN 테이블2ON 테이블1.속성명 = 테이블2.속성명 ;SQL 쿼리문 실습하면서 알게된 문법 🧐
DATE_FORMAT("2023-11-03 21:20:32", "%Y-%m-%d")SELECT IF(조건문, '참일때 값', '거짓일때 값') AS 새로운 컬럼 별칭;CASE WHEN 속성='값1' THEN '원하는값1'WHEN 속성='값2' THEN '원하는값2' ... END AS 새로운 컬럼 별칭;IFNULL(속성명, '대체할 값')💯 실전 프로그래머스 mysql 문제 풀어보기 ( LV. 1 ~ 4 ) 💯
Q : 자동차 대여 기록에서 장기/단기 대여 구분하기 ( LV. 1 )
DATE_FORMAT 과 DATEDIFF 를 알고 있어야 풀 수 있는 문제였다.DATEDIFF 로 날짜 차이를 계산해줬을때 시작하는 날짜는 포함이 안되므로 출력해서 나온 값에 "+1" 을 해줘야 된다는 점이다.Q : 조건에 부합하는 중고거래 상태 조회하기 ( LV. 2 )
CASE 반복문 을 알고 있어야 풀 수 있는 문제였다. 그 외 특별하게 어려운점은 없었다. Q : 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 ( LV. 3 )
CONCAT 을 알고 있어야 풀 수 있는 문제였다. CONCAT은 문자열들을 연결해주는 문법이라고 생각하면 된다.Q : 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 ( LV. 3 )
Q : 오프라인/온라인 판매 데이터 통합하기 ( LV. 4 )
UNION ALL 을 사용한다.UNION ALL 을 사용하려면 2개의 테이블의 열의 개수가 같아야 하는데,IFNULL 을 오프라인 판매 테이블의 열로 추가해준 뒤 UNION ALL 을 해줬더니 답이 나왔다.오늘의 느낀점 👀