MySQL에서 데이터를 불러오려면 SELECT를 이용해야합니다. 위 데이터베이스를 기반으로 검색을 해보도록 하겠습니다.
USE 문법 사용법
원하는 database선택
1
use employees
위 코드를 사용하여 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가 먼저 연산되기 때문에 아래와 같이 사용할 때는 주의해야 합니다. 또한 ()괄호를 사용하여 연산을 우선 할 수 있습니다.