SQL : DB에 어떤 정보를 요청할때 쓰는 언어
SQL을 사용해 데이터를 요청 = 'Query' 라고 하고 'Query'작성 = DB에 요청을 할때
DB안에는 아래처럼 생긴 '테이블'이 있다 (엑셀과 비슷한 구조)
테이블의 각각의 열은 '컬럼(Culumn)' 혹은 '필드(Field)' , 행은 로우(row) 등으로 부른다
Name Nation Age Gender ... 1 홍길동 한국 33 남자 2 짱구 일본 5 남자 3 제인 도 미국 50 여자
SQL의 기본문법
- SELECT : 데이터를 가져오는 기본 문법
- FROM : 데이터를 가져오는 테이블을 특정해준다
위 예시 테이블의 이름이 'People' 이라고 한다면
SELECT *
FROM People // 이라고 작성하면 위의 예시와 같은 테이블이 열린다 ( * = 전체)
SELECT Nation
FROM People // 은 위 예시테이블의 Nation컬럼만 열린다
↓
Nation | |
1 | 한국 |
2 | 일본 |
3 | 미국 |
컬럼의 이름을 다르게 사용하고 싶을때는 별명(alias)를 줄수 있다
Nation 컬럼의 별명을 na 라고 하고싶다면 / Naiton na 또는 Nation as na 라고 하면 된다
ex) SELECT Nation na FROM People
※별명을 줄때 영문과 언더바만 이용한다면 그냥 써도 상관없지만 특문,한글 등을 사용한다면 "안에 이름을" 넣어야 한다
- WHERE : 원하는 데이터만 필터링 해주는 문법
SELECT ...
FROM ...
WHERE 필터링조건 의 틀로 사용한다
ex) SELECT *
FROM People
WHERE Gender = "남자"
Name | Nation | Age | Gender | ... | |
1 | 홍길동 | 한국 | 33 | 남자 | |
2 | 짱구 | 일본 | 5 | 남자 |
이런식으로 Gender 값이 남자인 로우만 출력해준다
WHERE 와 함께 사용하기 좋은 필터링
- 비요연산자 ( <, >, = )
의미 | 예시 | |
= | 같다 | Age=33 Gender='남자' |
< | 작다 | Age<30 |
> | 크다 | Age>30 |
<> | 다르다 | Age<>33 Gender<>"남자" |
<= | 작거나 같다 | Age<=30 |
>= | 크거나 같다 | Age>=30 |
- BETWEEN : ~ 와 ~ 사이 , BETWEEN A and B 로 사용한다
ex) WHERE Age BETWEEN 10 and 40
- IN : ~를 포함 , IN (숫자, '문자') 로 사용한다
ex) WHERE Age IN (33)
또는
WHERE Gender IN ('남자')
- LIKE : 같지는 않지만 비슷한 값으로 조건주기 , LIKE % 로 사용한다
LIKE | 값 |
'문자%' | '문자'로 시작하는 값 |
'%문자%' | '문자'가 포함되는 값 |
'%문자' | '문자'로 끝나는 값 |
ex) WHERE Name LIKE '%홍%'
@ SQL 사용중 에러메세지가 뜨더라도 당황하지 말고 에러문을 보고 침착하게 이유를 확인하고 수정하자 @
'MYSQL' 카테고리의 다른 글
SQL 6 - 쿼리의 문법 순서와 실행 순서 (1) | 2024.03.31 |
---|---|
SQL 써보며 이해하기 5 - 잘못된 데이터 값이 있을 경우, Window Function, 날짜 데이터 (1) | 2024.03.29 |
SQL 써보며 이해하기 4 - 복합 연산, 테이블 합치기 (0) | 2024.03.28 |
SQL 써보며 이해하기 3 - 문자 가공, 조건문 (0) | 2024.03.26 |
SQL 써보며 이해하기 2 - 기본 연산, 범주, 정렬 (1) | 2024.03.25 |