◇ SQL이란?
- 데이터베이스와 대화를 하기 위한 언어
※ SQL 이란 언어를 이용하여 데이터베이스에 요청을 하는 질의를 ‘Query’ 라고 한다.
데이터베이스는 데이터가 저장되어있는 '데이터베이스'라는 큰 폴더가 그안 '테이블'이라는 파일이 있다고 생각할 수 있다.
테이블은 아래와 같은 구조를 갖고 있다.
테이블의 각 열을 '컬럼' 혹은 '필드'라고 부른다.
◇ 기본 문법
- 기본 문법
- SELECT : 데이터를 가져오는 기본 명령어
- FROM : 데이터를 가져올 테이블을 특정해주는 문법
- ' * ' : 모든 컬럼을 가져와준다는 의미
- 원하는 컬럼 선택
- 컬럼에 별명설정하기
구분 | 영문, 언더바 | 특수문자(공백포함), 한글 |
방법 | 별명만 적음 | "별명"으로, 큰따옴표 안에 작성 |
예시 | ord_no | "ord no" "주문번호" |
◇ WHERE절(엑셀의 필터같은 기능)
- 기본
→ where (컬럼)(조건)
※ 조건에서 문자열은 작은 따옴표로 감싼다.
- 비교연산자
부호 | 의미 |
= | 같다 |
<> | 같지 않다 |
>,< | 크다(작다) |
>=, <= | 크거나 같다(작거나같다) |
- 기타
- between : A와 B사이
→ where '컬럼1' between A and B : 컬럼1에서 A(이상)와 B(이하)사이의 값들 - in : 포함
→ where '컬럼1' in (조건1, 조건2,...) : 컬럼1에서 ()안의 조건값들 - like 비슷한 값
→ where '컬럼1' like 'S%' : 컬럼1에서 S로 시작하는 문자
→ where '컬럼1' like '%S%' : 컬럼1에서 S를 포함하는 문자
→ where '컬럼1' like '%S' : 컬럼1에서 S로 끝나는 문자
- 논리연산
부호 | 의미 |
and | 그리고 |
or | 또는 |
not | 아닌 |
◇ 수식
- 연산
→ select '컬럼1' + '컬럼2' as '새로운컬럼' : 컬럼1과 컬럼2를 더해 새로운 별명을 부여한 컬럼3을 계산 - sum, avg
→ sum('컬럼1') 별명1 : 컬럼1의 값을 모두 더해 별명1 컬럼에 표시하여 출력
→ avg('컬럼2') 별명2 : 컬럼2의 평균값을 계산하여 별명2 컬럼에 표시하여 출력 - count
→ count('컬럼1') 별명1 : 컬럼1의 데이터 갯수를 계산하여 별명1에 표시
※ ()안에 컬럼명 대신 ' * '이나 ' 1 '을 대입할 경우 form데이터의 모든 값을 카운팅
→ count(distinct '컬럼2') 별명2 : '컬럼2'가 몇가지의 값을 가지고있는지 카운팅
ex) - min, max
◇ GROUP BY
→ 카테고리컬럼을 묶어서 계산하여 표시
ex)
→ pay_type컬럼을 그룹지어 가장 최근 결제일 표시
◇ ORDER BY
ex)
→ cuisine_type을 그룹지어 sum(price) 오름차순 정렬
※ 내림차순은 order by 마지막에 desc 추가 기입
◇ 회고
- 복습이 필요한 부분
- count(distinct)부분
→ 예시를 통해 이해
ex) food_orders 테이블에 'cuisine_type'이란 컬럼에
한국(3), 미국(3), 중국(4) 이렇게 10개의 데이터가 있다고 가정하면
위 결과에서 첫번째 count는 10이 distinct count에는 3이 출력되게된다.
distinct의 경우 해당 컬럼의 고유값의 갯수를 카운팅한다.
- 정리
SQL은 위 5가지 문법이 기본적인 구조이다
- SELECT : 기초구문
- FROM : 어디서(어떤 테이블에서) 데이터를 가져올지
- WHERE : 조건문
- GROUP BY : 범주 선택
- ORDER BY : 정렬
'DB' 카테고리의 다른 글
1일차 - 데이터베이스(fierbase) 사용하기 (0) | 2024.07.15 |
---|