일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 부트캠프추천
- Thread
- inversion of control
- bean
- 스레드
- 소셜로그인
- jwt
- Dependency Injection
- 소셜
- 인스턴스화
- process
- 프로세스
- 항해99솔직후기
- jvm
- object
- IoC
- 클래스
- API
- social login
- 항해99장점
- 회고록
- DI
- 객체
- 객체지향 프로그래밍
- 쓰레드
- 항해99단점
- class
- 인스턴스
- Instance
- 오브젝트
- Today
- Total
로운's 기술노트
[SQL] 개론 본문
■ 용어 정리
ㅇ 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
ㅇ 통상 에러코드와 이유로 나타난다.
ㅇ 흔히 나타나는 유형
- 테이블 명을 틀리게 적었을 때 > 테이블이 존재하지 않음
- 컬럼 명을 틀리게 적었을 때 > 필드명이 잘못됨
- 필터링 조건 시 문자에 작은따옴표('')를 안 했을 때
'내배캠_데이터분석가_'24.04~08 > SQL' 카테고리의 다른 글
[프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (regexp) (2) | 2024.04.22 |
---|---|
[프로그래머스] 저자 별 카테고리 별 매출액 집계하기 (0) | 2024.04.22 |
[프로그래머스] 주문량이 많은 아이스크림들 조회하기 (0) | 2024.04.22 |
[프로그래머스] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.04.22 |
[프로그래머스] 우유와 요거트가 담긴 장바구니 (0) | 2024.04.22 |