SQL의 정의에 대해서 ChatGPT에게 물어보았다.
구조화된(Structed) 질의(Query) 언어(Language) = 데이터베이스와 대화를 하기 위한 언어로 이해하면 될듯 하다.
테이블(table) = 표
컬럼(column) = 열(필드)
SELECT *
FROM 테이블이름
SELECT
: 말 그대로 선택. SELECT 다음에 오는 컬럼을 선택함. ,
를 사용해 여러 컬럼 동시에 선택 가능.
*
: 모든 컬럼
FROM
: FROM 다음에 나오는 테이블에서부터 가져옴
예)
SELECT order_id, restaurant_name
FROM food_orders
order_id 컬럼과 restaurant_name 컬럼을 선택(select)함
food_orders라는 이름의 테이블에서부터(from)
- 방법1 : 컬럼1 as 별명1
- 방법2 : 컬럼2 별명2
예)
SELECT
order_id as ord_no,
restaurant_name "식당 이름"
From food_orders
SELECT *
FROM 테이블
WHERE 필터링 조건
예)
SELECT *
FROM customers
WHERE age=21
BETWEEN
: a 와 b 사이
기본 문법 : BETWEEN a AND b
예)
나이가 10 과 20 사이
WHERE age BETWEEN 10 AND 20
IN
: ‘포함’ 하는 조건 주기
기본 문법 : IN (a, b, c)
예1)
나이가 15, 21, 31 세인 경우
age IN (15, 21, 31)
예2)
음식 종류가 한식, 일식인 경우
cuisine_type IN ('Korean', 'Japanese')
LIKE
: 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
특정한 문자로 시작하는 경우
기본 문법 : LIKE ‘시작문자%’
예)
‘김’ 으로 시작하는 이름
name like '김%'
restaurant_name LIKE '%Next%'
특정한 문자로 끝나는 경우
기본 문법 : LIKE ‘%시작문자’
예)
‘임’ 으로 끝나는 이름
name LIKE '%임'
비교연산자
SQL 쿼리 처음 작성해본 자의 TMI :
1. 파이썬이나 R이랑은 비슷하면서도 다른 것 같아서 신기하다.
2. 그동안 큰따옴표/작은따옴표 구분 잘 안하고 큰따옴표 하나로 통일해서 써오고 있었는데 찾아보니 구분해서 써야 할것 같다.(링크참조)
https://stackoverflow.com/questions/1992314/what-is-the-difference-between-single-and-double-quotes-in-sql
3. DBeaver 라는 툴 자체를 처음 써보는데 얘 FROM 테이블 명 입력할 때 습관땜시 몇자 치고 탭 누르는데 Alias가 바로 적용되서 뜬다...!(띠용,,,)
이를테면, FROM fo까지만 치고 탭 갈기면FROM food_orders fo
이렇게 튀어나온다. 설정 차이인 것 같긴 한데 한번 찾아봐야겠다. 보통은 어떻게 설정해 놓고 쓰려나?