[PostgreSQL] Basic SQL
기초 SQL
하도 관계형 데이터베이스 나와서 한 번 쭉 봤는데 매우 초 간단 버전 판다스 느낌
SELECT 문
SELECT column_name FROM table_name;
- 모든 열을 보고 싶다면
*
를 사용하면 된다. - 컬럼 여러 개를 선택할 때 순서는 상관 없다. ->
SELECT column_name_3, column_name_1, column_name_4 FROM table_name;
- 가독성 측면에서 쿼리가 끝날 때 ; 를 붙여주고 대문자를 사용하는 게 좋다.
SELECT DISTINCT 중복 값 제거
SELECT DISTINCT(column_name) FROM table_name;
- 괄호는 없어도 상관 없음 ``
COUNT
SELECT COUNT(*) FROM table;
SELECT COUNT(name) FROM table;
SELECT COUNT(DISTINCT name) FROM table;
- 중첩할 때는 괄호를 사용하자
WHERE
- 조건문을 사용할 때 WHERE를 사용한다.
- 크거나 작을 때 혹은 특정 값등에 이용가능하다.
Name | Choice |
---|---|
Zeah | Green |
Davicd | Green |
Claire | Yellow |
David | Red |
SELECT name,choice FROM table WHERE name = 'David;
쿼리문을 실행하면 아래의 결과가 나온다. 여기서는 대문자 표기가 중요하다.
Name | Choice |
---|---|
David | Green |
David | Red |
SELECT name,choice FROM table WHERE name = 'David' AND choice ='Red;
쿼리문을 실행하면 아래의 결과가 나온다.
Name | Choice |
---|---|
David | Red |
ORDER BY
SELECT column_1, column_2 FROM table ORDER BY column_1 ASC/DESC;
- ORDER BY 뒤에 컴럼 순서대로 정렬됨
- ORDER BY 숫자 열, 알파벳 열 -> 숫자로 먼저 정렬되고 그 다음 알파벳 순으로 정렬됨
LIMIT
- 쿼리에 대해 반환되는 행의 개수를 제한할 수 있는 명령어
- 이는 테이블의 모든 행을 반환하는 게 아니라 상위 몇 개의 행만 표시하여 테이블 레이아웃을 파악하려고 할 때 쓴다.
- LIMIT 은 쿼리 요청의 가장 아래로 내려가며 가장 마지막에 실행되는 명령이다.
SELECT * FROM payment ORDER BY payment_date DESC LIMIT 5;
BETWEEN
- 값을 값 범위와 비교할 때 사용 (a 와 b 사이의 값을 조회)
- 날짜 정보는 0:00 부터 시작
SELECT * FROM payment WHERE payment_date BETWEEN '2007-02-01' AND '2007-02-15';
IN
SELECT color FROM table WHERE color IN ('option_A','option_B');
SELECT color FROM table WHERE color NOT IN ('option_A','option_B');
LIKE , ILIKE, NOT LIKE
- LIKE 연산자를 사용하면 문자열에 대한 패턴 매칭을 수행할 수 있다.
- ILIKE는 대 소문자를 가리지 않는다.
- % 또는 _ 로서 단 하나의 문자하고만 매칭된다.
- All names that begin with an ‘A’
- WHERE name LIKE ‘A%’
- All names that end with an ‘a’
- WHERE name LIKE ‘%a’
- WHERE value LIKE ‘Version#__’
- format is ‘Version#A4’, ‘Version#B7’
- All names that begin with an ‘A’
WHERE name LIKE '_her%'
- Cheryl
- Theresa
- Sherri
- her 앞에는 한 문자만 오지만 her 뒤에는 문자 제한이 없다.
- 또한 공백이 와도 상관 없다.
- Pattern 더 자세히 보기
댓글남기기