목차
하나의 테이블에 쓰는 쿼리
ORDER BY (속성)
속성 기준으로 오름, 내림차순 정렬
GROUP BY : 특정 속성 별로 묶어서 결과를 조회
내장 함수
평균, 최대값, 최소값, 카운트 등
HAVING : WHERE랑 비슷한데 GROUP BY로 묶은 값에 대해서 조건을 검색할 때
테이블을 여러개 다룰 때 쓰는 쿼리
IN
지정된 값들 중에 있는 것만 조회
JOIN ★★
두 개의 테이블을 하나로 합치는 기능
6-1: INNER, LEFT OUTER, RIGHT OUTER
서브 쿼리 : 쿼리문안에 SELECT 를 한 번 더 사용하는 것
ORDER BY 속성1 ASC, 속성2 DESC, ....;
오름차순은 ASC
내임차순은 DESC
가장 왼쪽에 있는 속성으로 먼저 정렬하고 같은 값들에 대해서 다음 속성을 기준으로 정렬한다.
예제
# 오름차순
SELECT emp_no, salary
FROM salaries
ORDER BY salary;
#내림차순
SELECT emp_no, salary
FROM salaries
ORDER BY salary DESC;
#GROUP BY 를 쓸 때는 ~~ 별로 라는 문장이 나올 때 쓴다. ex .(사원 별로, 월별로)
#직원별 최고 급여
SELECT emp_no, MAX(salary)
From salaries
group by emp_no;
#직원들 중 남여 사원의 수를 출력하시오.
select count(emp_no), gender
from employees
group by gender
;
#사원별 급여의 평균이 80000이상인 사원의 emp_no
select emp_no, avg(salary)
from salaries
group by emp_no
having avg(salary) > 80000
;
#ENgineer 직급별 사원의 수
SELECT title, count(emp_no)
FROM titles
WHERE title like '%Engineer'
group by title
having 1=1
;
A INNER JOIN B 은 교집합으로 합치기
A OUTER JOIN B 은 A를 그대로 적고 값이 없으면 비워둔다.
PROGRAMMERS 문제 풀기위해 익힌 익힌 문법들
문제 URL 이랑 코드 겪었던 문제
시간값 변환하기(DATE_FORMAT())
NULL 값 대체 하기 (IFNULL())
값 교체하여 출력하기 (CASE WHEN THEN END)
문자열 다루기 CONCAT
UNION
NULL as 'NULL'