MySQL Select

SELECT

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의 컬럼이름 바꿔서 검색
    tablecolumn_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가 먼저 연산되기 때문에 아래와 같이 사용할 때는 주의해야 합니다.
    또한 ()괄호를 사용하여 연산을 우선 할 수 있습니다.
공유하기