DAY7 규칙만들기

Mark·2022년 5월 19일
0
post-thumbnail

👩🏻‍💻 패스트캠퍼스 국비지원과정 'SQL로 시작하는
데이터 분석 첫걸음' 강의 내용 정리를 목적으로 개인 공부차 작성한 글입니다.
✏️ 수강 중인 교육과정 : https://fastcampus.co.kr/b2g_kdc_sql

1. 조건만들기

IF

  • 조건을 만들때 사용하는 함수
  • 조건을 하나만 만들때 사용함
  • IF (조건식, 참 값, 거짓 값)
  • SELECT 절에 사용하는 함수로 결과 값을 새로운 컬럼으로 반환

IFNULL

  • 데이터가 NULL인지 아닌지를 확인해 NULL이라면 새로운 값을 반환하는 함수
  • IFNULL([컬럼 이름], NULL일 때 값)
  • 해당 컬럼의 값이 NULL인 로우에서 NULL일 때 반환
  • 주로 SELEC절에서 사용, 결과 값을 새로운 컬럼으로 반환
     

2. 여러 조건 한번에 만들기

CASE

  • 조건을 여러 개 만들때 사용하는 문법
  • CASE 형식 1
CASE
	WHEN 조건식1 THEN 결과값1 -- WHEN ~할때 THEN ~해라 
	WHEN 조건식2 THEN 결과값2
	ELSE 결과값3
END
  • CASE 형식2
CASE [컬럼 이름]
	WHEN 조건값1 THEN 결과값1 -- 조건값 : 컬럼의 값이 조건값과 같을 때(참일 때) 결과값을 반환 
	WHEN 조건값2 THEN 결과값2
	ELSE 결과값3 -- 조건이 FALSE 일 때 
END -- CASE문 끝내기 
  • SELECT 절에서 사요앟는 함수, 결과 값을 새로운 컬럼으로 반환
  • ELSE 문장 생략 시 NULL 값 반환
     

3. 함수 만들기

쿼리 문법

CREATE FUNCTION [함수 이름] ([입력값 이름][데이터 타입], ...) RETURNS [결과값 데이터 타입]
BEGIN
	DECLARE [임시값 이름][데이터 타입];
	SET [임시값 이름] = [입력값 이름]; -- 임시값에 이름을 넣어줌 
	쿼리; -- 예) SELECT a+b INTO 임시값 이름
	RETURN 결과값
END

함수 지우기

DROP FUNCTION [함수 이름]

MySQL 워크밴치에서 함수 생성시 주의할 점!

-- 사용자 계정에 function create 권한 생성
SET GLOBAL log_bin_trust_function_creators=1;

-- 함수의 시작 지정
DELIMITER //

CREATE FUNCTION [함수 이름] ([입력값 이름][데이터 타입], ...) RETURNS [결과값 데이터 타입]
BEGIN
	DECLARE [임시값 이름][데이터 타입];
	SET [임시값 이름] = [입력값 이름]; 
	쿼리; 
	RETURN 결과값
END

-- 함수의 끝 지정 
//
DELIMITER
profile
개인 공부 정리

0개의 댓글