SELECT
MySQL에서 데이터를 불러오려면 SELECT
를 이용해야합니다.
위 데이터베이스를 기반으로 검색을 해보도록 하겠습니다.
USE 문법 사용법
원하는 database선택
위 코드를 사용하여 database
선택을 먼저 합니다.
위 코드를 실행하면 사진과 같이 database
가 볼드체로 바뀌는데 볼드체로 바뀌게 되면 database
선택이 완료된 것 입니다.
코드를 이용하여 선택하는 것 이외에도 database
이름을 더블클릭하여도 database
선택이 가능합니다.
SELECT 문법 사용법
- table 검색
employees
데이터베이스에서 departments
의 내용을 검색하는 방법에는 2가지가 있습니다.
1
| SELECT column_name1, column_name2 FROM database_name.table_name
|
database
를 선택하지 않았을 때에는 database_name.table_name
를 사용해야 합니다.
1
| SELECT column_name1, column_name2 FROM table_name
|
1
| SELECT dept_no, dept_name FROM departments
|
위 코드와 같이 departments
의 모든 column
을 입력하면 테이블의 목록이 아래와 같이 나타나게 됩니다.
위 코드의 모든 table
내용을 보고싶다면 모든 column
을 입력하는 것 보다 *
로 한번에 선택 가능합니다.
1
| select * from departments
|
위 코드처럼 테이블의 모든 내용을 보고싶다면 *
사용을 추천합니다.
- table의 컬럼이름 바꿔서 검색
table
의 column_name
을 검색 후 AS
를 이용하여 이름을 바꿔 표시가 가능합니다.
1
| SELECT column_name1 AS trans_name1, column_name2 AS trans_name2 FROM database_name.table_name
|
1
| SELECT dept_no AS '부서코드', dept_name AS '부서명' FROM departments
|
위 코드를 실행하게 되면 dept_no
가 부서코드
로 dept_name
이 부서명
으로 바뀌었습니다.
1
| SELECT dept_no '부서코드', dept_name '부서명' FROM departments
|
위 코드와 같이 AS
를 생략하여도 같은 AS
를 사용한 것과 같은 결과를 볼 수 있습니다.
table 정렬하기
ORDER BY 구문을 사용하면 특정 컬럼에 대한 정렬 기준을 세워 테이블을 출력할 수 있습니다.
ORDER BY 뒤에 정렬을 원하는 column명을 선택하면 해당 column이 오름차순으로 정렬됩니다.
1 2
| SELECT * FROM table_name ORDER BY column_name;
|
1 2
| SELECT * FROM salaries ORDER BY salary;
|
위 코드를 실행하여 salary column의 data가 오름차순으로 정렬 된 것을 볼 수 있습니다.
tabla 중복제거 후 정렬하기
column
선택 시 DISTINCT
를 사용하면 해당 column
의 중복된 값을 제거하고 보여줍니다.
1 2
| SELECT DISTINCT column_name FROM table_name ORDER BY column_name;
|
1 2
| SELECT DISTINCT first_name FROM employees ORDER BY first_name;
|
위 코드를 실행하게 되면 first_name
의 중복된 요소를 제거하고 오름차순으로 정렬 된 것을 볼 수 있습니다.
- 필터링
table
의 요소 중 원하는 내용만 선택 가능합니다.
WHERE
뒤 원하는 내용의 column
이름과 찾을 값을 입력 후 검색이 가능합니다.
1 2
| SELECT * FROM table_name WHERE column_name = 'search_value'
|
1 2
| SELECT * FROM employees WHERE first_name = 'Shahid'
|
위 코드를 사용하여 검색한 결과 Shahid
라는 이름을 갖고있는 사람만 검색되었습니다.
- 검색 연산자
WHERE
뒤 다양한 연산자 사용이 가능합니다.
WHERE
구문 내에서 자주 사용되는 연산자와 그 뜻을 아래 표에서 확인할 수 있습니다.
연산자 |
뜻 |
A=B |
A와 B가 같음 |
A!=B 또는 A<>B |
A와 B가 같지 않음 |
A<B |
A와 B보다 작음 |
A<=B |
A와 B보다 작거나 같음 |
A>B |
A와 B보다 큼 |
A>=B |
A와 B보다 크거나 같음 |
A IS NULL |
A가 NULL임 |
A IS NOT NULL |
A가 NULL이 아님 |
A LIKE ‘%PATTERN%’ |
A가 패턴과 일치함 |
A REGEXP ‘/EXPRESSION/‘ |
A가 정규표현식을 만족함 |
A BETWEEN B AND C |
A가 B와 C사이에 있음(B,C 포함) |
A IN (B,C,D) |
A가 B,C,D 중 하나와 일치함 |
NOT A |
A가 거짓 |
A OR B |
A 또는 B 둘 중 하나가 참 |
A AND B |
A와 B모두 참 |
- 연산자 우선순위
다른 프로그래밍 언어가 그렇듯이 SQL에도 연산자 우선순위가 존재합니다.
예를 들어, OR
보다 AND
가 먼저 연산되기 때문에 아래와 같이 사용할 때는 주의해야 합니다.
또한 ()괄호
를 사용하여 연산을 우선 할 수 있습니다.