[SQL] 1. SQL 기초
💽

[SQL] 1. SQL 기초

카테고리
💽 Database
작성자
박용성박용성
작성일
2024년 08월 09일
태그
SQL

🖥️ 시작하며

SQL 기초 문법에 대해 알아보자.

🔍 SELECT

데이터베이스의 테이블에서 정보를 검색하는 역할로, 이후 다른 쿼리문과 결합해 더 복잡한 쿼리를 수행할 수도 있다.
notion image
notion image
notion image
 
예시 문법:
# 기본 SELECT column_name FROM table_name # 여러 열 조회 SELECT col1, col2 FROM table1 # 모든 열 조회 SELECT * FROM table1
 

🔍 SELECT DISTINCT

가끔 테이블에 중복값이 있는 열이 있을 수 있다. 이런 경우 고유한 값만 검색하고 싶을 때 사용한다.
notion image
 
예시 문법:
SELECT DISTINCT(column_name) FROM table_name
 

🔍 COUNT

뜻 그대로, 개수를 출력한다. 다른 문법과 결합해서 사용한다.
 
예시 문법:
SELECT COUNT(*) FROM table_name; # 행 개수 출력 SELECT COUNT(DISTINCT name) FROM table_name; # 중복되지 않은 고유한 이름 개수 출력
 

🔍 SELECT WHERE

열에 조건을 지정해 그에 맞는 행이 반환되도록 한다.
notion image
 
예시 문법:
SELECT column1, colum2 FROM table1 WHERE conditions; SELECT name, choice FROM table WHERE name='David'; # 이런 식을 조건을 지정할 때는 열을 2개 이상 지정해야 의미가 있다. SELECT name, choice FROM table WHERE name='David' AND choice='Red'; SELECT COUNT(title) FROM film WHERE rental_rate > 4 AND replacement_cost >= 19.99 AND rating='R';
 

🔍 ORDER BY

동일한 요청 쿼리 결과를 다른 순서로 변환할 때가 있는데, 결과를 특정한 순서로 정렬되도록 한다.
notion image
 
예시 문법:
SELECT column_1, column_2 FROM table1 ORDER BY column_1 ASC/DESC; # 복잡한 예시 SELECT store_id, first_name, last_name FROM customer ORDER BY store_id ASC, first_name DESC;
 

🔍 LIMIT

쿼리에 대해 반환되는 행의 개수를 제한할 수 있다. 상위 몇 개의 행만 확인할 때 유용하다. 이 기능은 보통 ORDER BY 와 함께 사용한다.
 
예시 문법:
SELECT * FROM payment ORDER BY payment_date DESC LIMIT 5; # 가장 최근 5개 결과 반환
 

🔍 BETWEEN

범위 내의 값을 비교할 때 사용한다. WHERE 뒤에 사용되는 조건문으로 쓰인다.
 
예시 문법:
SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2; # 예시 1: salary가 50000과 60000 사이인 직원 조회 SELECT first_name, last_name, salary FROM employees WHERE salary BETWEEN 50000 AND 60000; # 예시 2: salary가 50000과 60000 사이가 아닌 직원 조회 SELECT first_name, last_name, salary FROM employees WHERE salary NOT BETWEEN 50000 AND 60000;
 

🔍 IN

특정 열의 값이 지정된 값 목록 중 하나와 일치하는지 확인하는 데 사용한다. 이는 여러 값에 대해 OR 조건을 사용할 때보다 훨씬 간결하게 쿼리를 작성할 수 있다.
 
예시 문법:
SELECT column_name FROM table_name WHERE column_name IN (value1, value2, ...); # 예시 1: department가 'HR' 또는 'IT'인 직원 조회 SELECT first_name, last_name, department FROM employees WHERE department IN ('HR', 'IT');
 

🔍 LIKE and ILIKE

문자열 패턴 매칭을 수행할 때 사용된다. LIKE 는 대소문자를 구분하고, ILIKE 는 구분하지 않는다.
 
예시 문법:
SELECT column_name FROM table_name WHERE column_name LIKE 'pattern'; # 예시 1: 이름이 'J'로 시작하는 직원 찾기 SELECT first_name, last_name FROM employees WHERE first_name LIKE 'J%'; # 예시 2: 이름이 'j' 또는 'J'로 시작하는 직원 찾기 SELECT first_name, last_name FROM employees WHERE first_name ILIKE 'j%'; # 예시 3: 이름의 두 번째 문자가 'a'인 직원 찾기 SELECT first_name, last_name FROM employees WHERE first_name LIKE '_a%';
 

댓글

guest