Mysql/SQL 기초

[엑셀보다 쉽고 빠른 SQL] 1주차 핵심정리

G_vieve 2024. 6. 12. 20:25

 

1. 기본문법

  • SELECT : 데이터를 가져오는 기본 명령어로, 데이터를 조회하는 모든 Query 에 사용됨. (필수)
  • FROM : 데이터를 가져올 테이블을 특정해주는 구문. (필수)
  • WHERE : 전체 데이터 중 원하는 데이터를 필터링하기 위해 조건을 지정해주는 구문
SELECT 컬럼 FROM 테이블
SELECT 컬럼 FROM 테이블 WHERE 필터링 조건

 

 

2. 테이블에서 원하는 컬럼만 선택

* : 모든 컬럼 선택

컬럼 : 가져오려는 컬럼명은 최소 1개부터 작성 가능. 컬럼 사이는 쉼표.

SELECT * FROM 테이블
SELECT 컬럼1, 컬럼2 FROM 테이블

 

 

3. 컬럼에 별명(alias) 지정

컬럼명에 별명을 지정하여 출력 시 컬럼 명 대신 별명으로 바뀌어 나옴.

-- 방법1: 컬럼 AS 별명
SELECT 컬럼 AS 별명 FROM 테이블
-- 방법2: 컬럼 별명
SELECT 컬럼 별명 FROM 테이블

 

 ! 별명 지을 때 유의사항

  • 영문/언더바 : 별명만 작성
  • 특수문자/한글 : 큰 따옴표 안에 작성. (띄어쓰기 포함하는 영문도 여기에 속함.)

 

 

4. 필터링 ( WHERE )

기본 조건은 '='으로 가능. 문자는 작은 따옴표 안에 작성.

-- EX) 나이가 22인 고객 리스트
SELECT * FROM customers WHERE age=22

-- EX) 성별이 여성인 고객 리스트
SELECT * FROM customers WHERE gender='female'

 

! 필터링 시 유용한 표현

비교연산자 의미 예시
= 같다 age = 21
<>, != 같지 않다(다르다) age <> 21, age != 21
> 크다 age > 21
>= 크거나 같다 age >= 21
< 작다 age < 21
<= 작거나 같다 age <= 21
조건 기본 문법 예시
BETWEEN BETWEEN  AND B 나이가 10 과 20 사이 WHERE age  BETWEEN 10 AND 20
IN IN (A, B, C) 나이가 10, 20, 30세 age IN (10, 20, 30)
LIKE LIKE '시작문자% ' '김'으로 시작하는 이름 name LIKE '김%'
LIKE ' %포함문자%' 식당이름이 'Next'를 포함 restaurant_name LIKE '%Next%'
LIKE ' %끝문자' '우'로 끝나는 이름 name LIKE '%우'

 

 

! 여러 개의 필터링 적용

  • 필터링 조건 여러개를 하나의 Query문에서 적용
  • 이때 사용되는 연산이 '논리연산'
논리연산자 의미 예시
AND 그리고 20세 이상인 여성 age>20 AND gender='female'
OR 또는 20세 이상이거나 여성이거나 age>20 OR gender='female'
NOT 아닌 여성이 아닌 NOT gender='female'