[sql study note] Where, 비교연산, 논리연산, Group by, Order by

[sql study note] Where, 비교연산, 논리연산, Group by, Order by

·

2 min read

SQL이란?

데이터베이스와 대화하기 위한 언어

sql이란 언어를 이용하여 데이터베이스에 요청하는 질의를 query라고 한다.

데이터베이스란?

데이터가 저장되어 있는 큰 폴더

데이터베이스라고 하는 큰 폴더가 있고, 그 안에 데이터를 확인할 수 있는 파일과 같은 테이블이 있다.

데이터를 조회할 때는 데이터베이스라는 폴더에서 테이블이란 파일을 열어서 본다.


SQL문의 기본 구조

데이터 조회의 가장 기본문 SELECT

어디서 데이터를 가져오는지 FROM

조건을 주는 WHERE

범주별로 계산해주는 GROUP BY

조회된 결과를 정렬해주는 ORDER BY

SELECT
FROM
WHERE
GROUP BY
ORDER BY

컬럼에 별명 주기

컬럼 옆에 별명을 적어주거나 as를 붙여 별명을 붙여준다.

방법1

SELECT KOREA as "한국"

방법2

SELECT KOREA "한국"

영문이나 언더바를 사용해서 별명을 지어줄때는 문자만 적어주고, 한글이나 특수문자를 사용하여 별명을 지어줄때는 " "(큰따옴표) 안에 적어준다.


WHERE 절을 이용하여 조건에 맞는 데이터 필터링

from문 다음에 필터링 조건을 적어줘야 한다.

sql은 대문자, 소문자를 다른 문자로 구분하며, 조건을 적을 때는 문자이므로 작은 ' '(작은따옴표)로 감싸줘야 한다.

SELECT *
FROM 테이블
WHERE 필터링 조건

비교연산, BETWEEN, IN, LIKE

같음, 큼, 작음 등의 조건 지정

\>크다, >= 이상, <작다, <=이하 , <>같지않다, =같다

BETWEEN : a와 b 사이

BETWEEN a AND b

IN : 포함하는 조건 주기

IN (a, b, c)

LIKE

특정 문자로 시작하는 경우 (어떤 문자로 시작하고 뒤에 아무 문자나 와도 상관없다.)

LIKE '시작문자%'

특정 문자가 가운데에 포함되는 경우에는 가운데 포함되기만 하면 된다.

LIKE '%포함문자%'

특정 문자로 끝나는 경우 (어떤 문자로 끝나고 앞에 아무거나 와도 상관없다.)

LIKE '%시작문자'

논리연산 (AND, OR, NOT)

여러개의 조건을 적용할 때 사용되는 연산을 논리연산이라 부른다.

and 그리고 (앞, 뒤 조건 모두 만족하는 경우)

age > 20 and gender = ‘female’ → 나이가 20세 이상이고, 여성

or 또는 (하나의 조건만 만족하면 조회)

age > 20 or gender = ‘female’ → 나이가 20세 이상이거나, 여성

not 아닌 (같지않다)

not gender = ‘female’ → 여성이 아닌


GROUP BY

여러번의 query 없이 카테고리를 지정하여 수식 함수로 연산할 수 있다.

select 카테고리컬럼,
from
group by 카테고리컬럼

ORDER BY

어떤 컬럼을 기준으로 값을 정렬해주는 것

기본값으로 오름차순 정렬이며, 내림차순 정렬을 하고 싶을 땐 컬럼을 적어주고 옆에 desc를 적어준다.

select 카테고리컬럼
from
group by 카테고리컬럼
order by 정렬을 원하는 컬럼