







ex) 총 구매액이 1000 이상인 회워의 아이디, 구매 금액 조회

→ FROM > WHERE > GROUP > SELECT 순으로 실행됨
→ HAVING 절은 반드시 GROUP BY 절 다음에 작성 !

→ 소수점 버리려면 FLOOR 함수 쓰기 !



: FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY > LIMIT
테이블에 데이터를 삽입하는 구문

→ ⛧ 값을 입력하지 않으면 NULL 로 채움





한 번에 여러 개의 행 삽입 가능

다른 테이블의 데이터를 가져와서 대량으로 입력 가능

→ SELECT 결과 테이블 삽입


테이블 복사(키는 복사 X)

→ WHERE 1 = 0 은 false 이기 때문에 빈 테이블 생성하는 것 !


행 단위로 데이터 삭제(테이블에서 우클릭으로도 삭제 가능 !)
ex) userid가 hong123인 회원 삭제

→ SELECT 로 먼저 확인 후 안전하게 DELETE 하기 !
WHERE 절 생략 가능 → 데이터 전체의 행이 삭제됨(주의!!)

조건을 만족하는 결과 중에서 상위 몇 건만 삭제하려면 LIMIT 구문과 함께 사용 !
ex) height가 NULL인 회원들 중 상위 2명 삭제

테이블 삭제

테이블의 모든 데이터 삭제
TRUNCATE TABLE 테이블명;



숫자 데이터를 문자 데이터로 형 변환

→ 콤마도 사라지고 색도 바뀜 !
buytbl에서 평균 구매 개수를 조회

→ CONVERT(AVG(amount), INT) 도 가능 !
문자 데이터를 숫자 데이터로 형 변환

→ 둘 다 같은 결과
자리수 표현된 문자 데이터를 숫자 데이터로 형 변환

→ SELECT CAST(REPLACE('1,000,000', ',', '') AS INT); 도 같은 결과 !

SELECT emp_id, emp_name
FROM employee;
↓
문자 데이터를 날짜 데이터로 형 변환

→ /, -, % 다 가능 !
숫자 데이터를 날짜 데이터로 형 변환

모든 데이터 타입 변환이 가능한 것은 아님(오류 상황)

암시적인 형 변환

→ + 연산자는 숫자로만 됨,,
IF(수식, 참, 거짓)

ex) 고객별 전체 구매 개수의 합계(10개 이상이면 VIP, 아니면 일반 고객)

IFNULL(수식 1, 수식2) = NVL

→ 첫번째 값이 NULL 이면 두번째 값, 아니면 첫번째 값 !
ex) employee 테이블에서 보너스를 0.1 동결하여 직원명, 보너스율, 동결된 보너스율, 보너스가 포함된 연봉 조회

NULLIF(수식 1, 수식2) → 두 개의 값이 같으면 NULL 반환 !

- 다르면 첫번째 값 반환

CASE 연산자

→ 마지막은 END로 끝내야함
ex) employee 테이블에서 직원명, 급여, 급여 등급(1 ~ 4) 조회
급여가 500만원 초과일 경우 1등급
급여가 500만원 이하 350만원 초과일 경우 2등급
급여가 350만원 이하 200만원 초과일 경우 3등급
그 외 4등급

