어제는 데이터베이스 관련 명령어들을 정리했으니, 오늘은 SQL 명령어들을 정리하겠다.
가장 많이 사용되는 것은 SELECT 와 FROM일 것이다.
SELECT와 FROM을 함께 사용한 명령어를 작성해 보자면,
SELECT *
FROM table_name;
위와같이 와일드 카드를 써서 전체를 가져올 수도 있고,
SELECT column1, column2, ...
FROM table_name;
이렇게 가져오고 싶은 column을 선택해서 가져올 수도 있다.
만약 user라는 테이블 에서 age라는 column이 25인 데이터 중 name과 age인 column을 가져오고 싶으면 아래와 같이 작성하면 된다.
SELECT name, age
FROM user
WHERE age = 25;
WHERE 에서 비교로
기본적으로 알고 있는 (=, >, <. >=, <=) 말고도
Operator | Description |
---|---|
<> | Not equal |
BETWEEN | Between a certain range |
LIKE | Search for a pattern |
IN | To specify multiple possible values for a column |
이 있다.
헷깔릴 수 있는 LIKE와 IN의 예시를 써보자면
SELECT column1, column2
FROM table_name
WHERE column2 LIKE '%string%'
이런식으로 사용된다.
여기서 나오는 퍼센트(%) 기호는 LIKE와 보통 같이사용 되는데, 와일드 카드와 비슷한 역할을 한다
' _ ' 이 표시는 하나의 문자를 모를때 쓰는 것이고, %는 한 개 이상의 문자를 모를 때 사용한다.
KOREA라는 단어를 예를 들어보자면 만약 A 한 단어만 까먹었을 때는
...
WHERE column LIKE 'KORE_';
이렇게 사용하면 되고 만약 KO밖에 생각이 안나면
...
WHERE column LIKE 'KO%';
이렇게 사용하면 된다.
SELECT *
FROM table_name
WHERE column1 IN ('hello','world');
이렇게 작성하면 column1에서 'hello'그리고 'world'라는 단어와 일치하는 데이터를 찾는다.
ORDER BY는 말 그대로 정렬을 하는 것이다 어떤 기준으로 정렬을 할지 명시할 수 있다.
defalut 값은 오름차순이고 DESC를 기준 뒤에다 붙이면 내림차순으로 정렬된다.
LIMIT도 문자 그대로 제한을 하는 것이다. 결과로 출력될 데이터들의 갯수를 제한한다. 쿼리문에서 사용할때 가장 마지막에 작성한다.
SELECT *
FROM table_name
ORDER BY column1 DESC
LIMIT 100;
이런 식으로 작성한다.