인공지능, 데이터분석/[SQL] 혼자 공부하는 SQL

[혼공SQL] 4장. SQL 고급 문법(데이터 형식, 데이터 형변환, 조인, IF, CASE, WHILE, 동적SQL)

마법사 코딩공주 2023. 4. 18. 21:05
728x90
반응형

Chapter 4. SQL 고급 문법

4.1 MySQL의 데이터 형식

  • 정수형 : 소수점이 없는 숫자이며, TINYINT, SMALLINT, INT, BIGINT 등이 있음
  • 문자형 : 고정형 문자형인 CHAR, 가변형 문자형인 VARCHAR가 있음
  • 실수형 : 소수점 아래 7자리까지 표현되는 FLOAT 소수점 아래 15자리까지 표현되는 DOUBLE이 있음
  • 날짜형 : DATE(날짜만저장, YYYY-MM-DD형식), TIME(시간만 저장, HH:MM:SS 형식), DATETIME(날짜 및 시간 저장)

▶ 변수 앞에는 @를 붙임

USE market_db;
SET @myVar1 = 5;     # 변수선언
SET @myVar2 = 4.25;  # 변수선언

SELECT @myVar1;              # 5
SELECT @myVar1 + @myVar2;    # 9.2500000000

SET @txt = '가수 이름 ==> ';
SET @height = 166;

SELECT @txt, mem_name FROM member WHERE height > @height;

 

  • LIMIT에는 변수를 사용할 수 없음

  • 이를 해결하기 위해 PREPARE와 EXCUTE를 사용

 

▶ 데이터 형식을 변경하는 형 변환 함수에는 CAST(), CONVERT()가 있음

# 형식
CAST ( 값 AS 데이터_형식 [ (길이) ] )
CONVERT ( 값, 데이터_형식 [ (길이) ] )

 

4.2 두 테이블을 묶는 조인

  • 조인(Join) : 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것
  • 내부 조인(inner join) : 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 함
  • 외부 조인(outer join) : 두 테이블을 조인할 때, 1 개의 테이블에만 데이터가 있어도 결과가 나옴
  • 상호 조인(cross join) : 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능
  • 자체 조인(self join) : 자신이 자신과 조인된다는 의미로, 1개의 테이블을 사용

<관련 중요 용어>

용어 설명
관계 두 테이블이 서로 연관되는 것
기본 키-외래 키 관계 두 테이블이 일대다 관계로 연결되기 위한 조건
별칭(alias) 조인에서 테이블의 이름을 짧게 표현
DISTINCT문 중복된 열의 값을 1개만 표현하는 구문
LEFT OUTER JOIN 왼쪽 테이블의 모든 값이 출력되는 조인
RIGHT OUTER JOIN 오른쪽 테이블의 모든 값이 출력되는 조인
FULl OUTER JOIN 왼쪽 또는 오른쪽 테이블의 모든 값이 출력되는 조인
CREATE TABLE ~ SELECT  

 

4.3 SQL 프로그래밍

▶ IF문

IF <조건식> THEN
	SQL 문장
END IF;

▶ CASE문

▶ WHILE문 활용

  • ITERATE[레이블] : 지정한 레이블로 가서 계속 진행
  • LEAVE[레이블] : 지정한 레이블을 빠져나감. while문 종료 

▶ 동적 SQL문 활용

  • PREPARE : SQL문을 실행하지 않고 미리 준비만 함
  • EXECUTE : 준비한 SQL문을 실행
  • DEALLOCATE PREFARE 문장을 해제

728x90
반응형