[SQL] 혼공S Ch4 SQL 기본 문법

Seri·2024년 7월 21일
1

서론

예전에는 거의 툴에서 클릭으로 하거나 검색 또는 GPT의 힘을 빌려 테이블을 조작했는데 이제는 직접 SQL문을 써서 하기 시작했다. 특히 SELECT를 자유자재로 쓰다보니 원하는 데이터를 찾기가 한결 수월해졌다.

📚 이번주 과제

데이터 형식

정수형: 소수점이 없는 숫자

데이터 형식바이트수숫자 범위
TINYINT1-128~127
SMALLINT2-32768~32767
INT4약-21억 ~ +21억
BIGINT8약 -900경 ~ +900경

* UNSIGNED를 붙이면 0부터 범위가 지정된다.

문자형

데이터 형식바이트 수
CHAR(): 고정길이 문자형1 ~ 255
VARCHAR(): 가변길이 문자형1 ~ 16383
  • 대량의 데이터 형식: TEXT, LONGTEXT / BLOB, LONGBLOB - 글자가 아닌 이미지, 동영상 등의 데이터

실수형

데이터 형식바이트 수
FLOAT: 소수점 아래 7자리까지 표현4
DOUBLE: 소수점 아래 15자리까지 표현8

날짜형

데이터 형식바이트 수
DATE: 날짜만 저장. YYYY-MM-DD3
TIME: 시간만 저장. HH:MM:SS3
DATETIME: 날짜 및 시간을 저장. YYYY-MM-DD HH:MM:SS8

변수의 사용

SET @변수이름 = 변수값; // 변수의 선언 및 값 대입
SELECT @변수이름; // 변수의 값 출력
  • PREPARE: 실행하지 않고 SQL 문만 준비
  • EXECUTE: 실행
  • USING: 물음표(?)에 변수의 값을 대입

데이터 형 변환

명시적인 형 변환

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

암시적인 형변환

  • 숫자와 문자를 연산할 때 CONCAT()을 사용하면 숫자가 문자로 변한다. 더하기만 사용하면 문자가 숫자로 변한 후에 연산된다.

조인(join)

두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것

내부 조인(inner join)

SELECT <열 목록>
FROM <첫 번째 테이블>
	INNER JOIN <두 번째 테이블>
    ON <조인될 조건>

외부 조인(outer join)

SELECT <열 목록>
FROM <첫 번째 테이블(LEFT 테이블)>
	<LEFT | RIGHT | FULL> OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
    ON <조인될 조건>
  • left: 왼쪽 테이블의 내용은 모두 출력되어야 한다.

상호 조인(cross join)

한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능으로 테스트하기 위해 대용량의 데이터를 생성할 때 주로 사용한다.

자체 조인(self join)

자신이 자신과 조인.

확인문제 p.195 4번

SELECT DISTINCT M.mem_id, B.prod_name, M.mem_name, M.addr
	FROM member M
    	LEFT OUTER JOIN buy B
        on M.mem_id = B.mem_id
    WHERE B.prod_name IS NULL // 한 번도 구매한 적이 없는
    ORDER BY M.mem_id

SQL 프로그래밍

IF문

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

CASE문

CASE
	WHEN 조건1 THEN
    	SQL 문장1
    WHEN 조건2 THEN
    	SQL 문장2
    ELSE
    	SQL 문장3
END CASE;

WHILE문

WHILE <조건식> DO
	SQL 문장들
END WHILE;
  • ITERATE [레이블]: 지정한 레이블로 가서 계속 진행한다.
  • LEAVE [레이블]: 지정한 레이블을 빠져나간다. 즉 WHILE 문이 종료된다.

동적 SQL

  • PREPARE: SQL문을 실행하지는 않고 미리 준비
  • EXECUTE: 준비한 SQL문을 실행한다.
profile
🎤 📷 ❄️ 🌊

0개의 댓글