로운's 기술노트

[SQL] 개론 본문

내배캠_데이터분석가_'24.04~08/SQL

[SQL] 개론

로운's 2024. 4. 3. 22:34

■ 용어 정리

ㅇ SQL : Structured Query Language로 구조적인 질의언어를 의미한다.

               쉽게 말해 데이터베이스를 관리하기 위한 언어의 일종이다.

ㅇ Query : 문의, 의문 등을 의미하는 것처럼 SQL에서도 해당 언어를 이용하여 데이터베이스에 요청하는 질의를 칭한다.

 

■ 필수 명령어

ㅇ SELECT : 데이터를 가져올 '컬럼'을 지정. 데이터를 조회하는 모든 Query에 사용
ㅇ FROM : 데이터를 참조할 '테이블' 지정
  ※  * : 모든 컬럼을 가져온다는 의미

 

■ 기본 명령어

ㅇ as : select한 컬럼에 별칭을 지정 (특수문자나 한글이 포함된 경우는 "큰 따옴표" 안에 기재)

    e.g. select A as B   > A라는 컬럼명을 B라는 별칭으로 조회

           = select A B    > as 대신 공백도 같은 기능

 

ㅇ WHERE : 데이터를 특정하기 위한 조건 입력 시 사용 (등호, 사칙연산 등)

select *
from 테이블
where 필터링 조건

 

ㅇ BETWEEM : A 와 B 사이를 필터  /  between A and B

where age between 10 and 20

 

ㅇ IN : 해당하는 대상만 ‘포함’ 하는 조건  /   in (A, B, C)

age in (15, 21, 31)
cuisine_type in ('Korean', 'Japanese')

 

ㅇ LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기

    - 특정 문자로 '시작'하는 경우 / 특정 문자를 '포함'하는 경우 / 특정 문자로 '끝'나는 경우

name like '김%'
name like '%김%'
name like '%김'

 

 

 연산자

ㅇ 비교연산자의 종류

구분 의미 예시
= 같다 age = 10
gender = ’female’
<> 같지 않다(다르다) age <> 10
gender <> ’female’
> 크다(초과) age > 10
>= 크거나 같다(이상) age >= 10
< 작다(미만) age < 10
<= 작거나 같다(이하) age <= 10

 

ㅇ 논리연산자의 종류

구분 의미 예시
AND 그리고 (두 조건을 만족하는 경우) age > 20 and gender = ’female’
→ 나이가 20세 이상이고, 여성
OR 또는 (두 조건 중 하나, 혹은 둘다 만족하는 경우) age > 20 or gender = ’female’
→ 나이가 20세 이상이거나, 여성
NOT 아닌 (제외) not gender = ’female’
→ 여성이 아닌 

 

ㅇ 기본연산자의 종류

구분 설명
+ 더하기
- 빼기
* 곱하기
/ 나누기
SUM 합계
AVG 평균

 

ㅇ 그 외

구분 설명
COUNT 전체데이터 개수
DISTINCT 중복데이터 제거 (e.g. count(distinct customer_id) )
MIN 최솟값
MAX 최댓값

※ MAX와 MIN은 날짜에도 적용 가능. MAX는 가장 최근날짜, MIN은 가장 오래된 날짜 추출

 

■ 범주 연산

ㅇ GROUP BY : 컬럼 별로 묶어 연산 (eg. 음식 종류별, 식당별)

select 카테고리컬럼(원하는 컬럼),
       sum(계산 컬럼),
from 테이블
group by 카테고리컬럼(원하는 컬럼)

 

ORDER BY : 기본 오름차순 정렬 (구문 마지막에 desc를 추가하여 내림차순 정렬)

select 카테고리컬럼(원하는 컬럼),
       sum(계산 컬럼),
from
group by 카테고리컬럼(원하는 컬럼)
order by 정렬을 원하는 컬럼 (카테고리 컬럼(원하는 컬럼), sum(계산 컬럼) 둘 다 가능) desc

 

 

■ Error Message

ㅇ 통상 에러코드와 이유로 나타난다.

 

ㅇ 흔히 나타나는 유형

  - 테이블 명을 틀리게 적었을 때 > 테이블이 존재하지 않음

 

- 컬럼 명을 틀리게 적었을 때 > 필드명이 잘못됨

 

- 필터링 조건 시 문자에 작은따옴표('')를 안 했을 때 

 

Comments