SQL/기본 지식

[엑셀보다 쉽고 빠른 SQL] - 1주차 (SELECT, FROM, AS, WHERE, 비교연산자, Between, In, Like, And, Or, Not)

뜌비뜌바밥 2024. 8. 7. 11:56
데이터 베이스 개념 이해하기

 

[데이터 베이스]

  • 데이터 베이스 :  데이터가 저장되어 있는 큰 폴더
  • 데이터 베이스라는 폴더가 있고, 그 안에 테이블이 있음

[테이블]

  • 엑셀 파일과 같이 생김. 각 열을 컬럼 혹은 필드라고 부름
MySQL 기본 용어

 

1. SELECT : 불러오고자 하는 변수 기재, 전체 선택 시에는 *을 입력

SELECT *

 

2. FROM : 불러오고자 하는 변수가 있는 테이블 기재

SELECT *
FROM TABLE

 

3. AS : 별칭을 붙여주는 것

아래에서 처럼 큰따옴표( " ") 안에 별칭을 넣음.

만약, 영어와 언더바(_)만 사용하여 별칭을 붙인다면 한 칸 띄우고 바로 이름을 적어주어도 됨

# 한글, 특수문자, 띄어쓰기 사용 시 큰따옴표 사용.
SELECT AGE AS "나이"
FROM TABLE

# 영어, 언더바(_)사용 시 띄어쓰기 하고 바꿀 별명 기재해주면 됨.
SELECT ADDR AS ADDRESS
FROM TABLE

 

4. WHERE : 쉽게 말해, 필터 기능
다만, 본 코드에서 FROM → WHERE 순으로 작동하기 때문에 특정 데이터를 먼저 포함하거나 빼고 난 뒤 그 이후 내가 실행한 코드가 돌아간다는 점 잊지 말자.

✔️WHERE 절에는 집계 함수 사용을 할 수 없다. 이때에는 HAVING 절에 사용해야 한다!

SELECT AGE AS "나이"
FROM TABLE
WHERE AGE BETWEEN 20 AND 29

 

5. 비교연산자 : WHERE절 등에서 사용할 수 있는 비교연산자들

비교연산자 의미 예시
= 같다 age = 21
<> 같지 않다 age <> 21
> 크다 age > 21
>= 크거나 같다 age >= 21
< 작다 age < 21
<= 작거나 같다 age <= 21

 

6. 범위 설정 : Between, in, like

#between 값 and 값
SELECT AGE AS "나이"
FROM TABLE
WHERE age between 20 and 29

#in (값, 값)
SELECT AGE AS "나이"
FROM TABLE
WHERE age in (20, 29)

#like %이%
SELECT AGE AS "나이", name
FROM TABLE
WHERE name like '%이%'
  • between: 설정한 범위 사이의 값을 모두 선택하고 싶을 때
  • in: 설정하고자 하는 범위가 여러개 일 때
  • like: 특정 문자를 포함하는 모든 값을 선택하고 싶을 때, 이에 like 사용시에는 %가 포함되는데 % 위치에 따라 산출되는 값이 달라짐
    - 이% : 이로 시작하고 뒤에 어떤 값이 와도 상관 없음
    - %이 : 이로 끝나고 앞에 어떤 값이 와도 상관 없음
    - %이% : 값 내에 이가 포함되어 있으면 상관 없음 

6. and, or, not : 여러 개의 조건 사용할 때

SELECT *
FROM data
WHERE A=1 AND A=3

SELECT *
FROM data
WHERE A=1 OR A=3

SELECT *
FROM data
WHERE A is not 1
  • And : 필터 추가 시에 필터를 여러 개 적용할 때
  • or : 여러 기준 중 하나만 충족하면 될 때
  • not : 내가 기재한 필터 값 외의 값들을 불러오고 싶을 때