SELECT -
FROM -
[WHERE] - 데이터 위치
[GROUP BY]
[HAVING] - 가지고 있는 속성 옵션 뽑기
[ORDER BY] - 순서 정렬
항상 세미콜론 ';'으로 끝맺음
추출할 컬럼이 여러개일 경우 콤마 "," 구분, 대소문자 구분 없음
* LIMIT : 불러올 데이터 수 제한. 항상 사용하는 것이 좋음.
SQL문 작성 유의사항
스키마(schema)
테이블의 구조를 도식화 해 놓은 것.
테이블 설계 도면. 테이블에 정보가 담겨 있음.
열의 이름, 형식, 크기, 조건, 중복, Null 값 허용
관계(Primary key, Foreign KEY)
데이터 타입
1. 숫자형
1) 정수형(INT) : 소수점이 없는 숫자값
음수, 0, 양수 표현가능
표현하는 값의 크기에 따라 구분하여 사용 : INT, SMALLINT, BIGINT
2) 부동 소수점형 (FLOAT)
소수점 값이 있는 경우 사용
정밀도(소수점 자리수 및 크기)에 따라 구분하여사용 : FLOAT, DOUBLE
ex) 달러화 금액,
2. 문자형
1) CHAR : 자리수 고정형식. 문자수 제한(나머지는 빈칸으로, 최대 255글자)
2) *VARCHAR : 자리수가 정해지지 않은 문자. 일반적으로 많이 사용 (최대 255글자)
3) TEXT : 문자열이 매우 긴 경우. (65535글자)
3. 날짜와 시간
DATE : 날짜만 사용할 경우 (YYYY-mm-dd 주로사용)
DATETIME : 날짜와 시간을 같이 표현할 경우 (YYYY-mm-dd HH:MM:SS)
TIMESTAMP : 특정 지역의 시간을 명시할 때. 밀리 세컨즈 단위까지 정밀하게 사용. (UTC를 기본으로)
스키마
데이터 타입 구분 (문자/숫자/날짜/부울)
숫자 - int, float
부울(조건문 사용) - ture (참) / False (거짓)
문자열 - char, varchar, text
날짜, 시간 - date, datetime, timestamp
4. 제약 조건
컬럼의 규칙
not null *null : 비어있는 값(상태 값이기 때문에 어떤 값이 올지 모름.)
unique : 특정값
primary key : 고유값
foreign key : 참조값 ( primary key 중에서 사용해야 함)
SQL의 종류
1. 데이터 정의어 (Data Definition Language)
CREATE : 생성 명령문
ALTER : 기존에 존재하는 테이블 속성 변경
DROP : 기존에 존재하는 속성 완전 삭제
TRUNCATE : 형태만 남기고 지울때(데이터만 제거)
2. 데이터 조작어 (Date Manipulation Language)
테이블 안의 데이터를 다루는 명령문
SELECT : 필요한 값을 조회
INSERT : 기존 테이블에 새로운 값 입력(행 추가)
UPDATE : 기존에 있는 데이터에 덮어 씌우는 것(수정).
DELETE : 조건에 맞는 존재하는 값 삭제
SQL 실습) W3 스쿨
W3Schools Online Web Tutorials
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
주석문
1. /* */ - 장문
2. -- 뒤를 주석으로 처리
SELECT
1. 조건절(WHERE)
원하는 행만 선택하기 위해 사용
조건이 참(True)인 경우만 필터링
여러조건 확인 시 'AND' , 'OR', 괄호 '()' 조합해 사용
숫자 - 날짜형 크기 비교 가능(연산 가능)
NULL 여부 확인(비어있는 지)
ex) 문자열 같다, 같지않다 / 특정 문자열을 가지고 있다
- 비교 연산자
- 논리연산자
- 산술 연산자
+, -, *, /
숫자, 날짜, 시간 적용 가능
문자 적용시 DBMS에 따라 다름
우선순위
1. ()
2. *, /
3. + -
- 와일드카드 (Wildcard)
문자열 데이터를 다룰 때 정확히 일치하는 경우 '=' 사용
LIKE 연산자 : 일부문자만 알고 있거나 패턴이 매칭되는 경우 선택
(\) : '%' '_' 문자를 검색하고 싶은 경우 앞에 붙여 사용
- 정렬 (ORDER BY)
default 오름차순, 내림차순
- 상품 데이터를 가격이 높은 순서로 정렬해서 추출
SELECT * FROM Products
ORDER BY price DESC;
하위 5개만 본다 limit 5
- 상품 데이터를 카테고리 ID별로 내림차순 정렬하고 동일한 ID 내에서 가격순으로 정렬해서 추출
SELECT * FROM Products
ORDER BY categoryID , price desc
Limit 100;
- AS 별칭(Alias)
- DISTINCT
중복을 제거하여 유니크한 값만 추출
2. 조건문 함수
- IF()
단일 조건문에 주로 사용
IF(조건값 비교, 참일때 반환 값, 거짓일때 반환 값)
SELECT, WHERE 절에서 사용 가능
- CASE WHEN()
다중조건문에 사용
실습)
- ★ 집계 및 요약
'SeSSAC 데이터 드리븐 마케팅 > CRM 마케팅' 카테고리의 다른 글
SQL, 집계함수 (0) | 2023.08.01 |
---|---|
CRM의 이해, SQL (0) | 2023.07.25 |