MySQL, 데이터 조회

paikpaik·2023년 7월 15일
0

DB, SQL(MySQL)

목록 보기
5/9
post-thumbnail

SELECT로 데이터 조회 하기

SELECT statement 1

  • ID가 9인 임직원의 이름과 직군을 알고 싶다.

데이터 조회

  • SELECT name, position[조회하고 싶은 attributes] FROM employee[조회할 table_name] WHERE id = 9[조회할 때 한정하고 싶은 조건];

SELECT statement

  • SELECT attribute(s)
  • FROM table(s)
  • [WHERE condition(s)];

SELECT statement 2

  • project 2002를 리딩(leading)하고 있는 임직원의 ID와 이름과 직군을 알고 싶다.

데이터 조회

  • SELECT employee.id, employee.name, position[조회하고 싶은 attributes]
    FROM project, employee[조회할 table_name]
    WHERE project.id = 2002 and project.leader_id = employee.id[조회할 때 한정하고 싶은 조건];
  • 여러 table에서 데이터를 조회할 때는 어떤 table의 attribute인지 명시해주는것이 중요함! 겹치는 attributes는 에러가 발생함!

AS

AS 사용하기

  • AS는 테이블이나 attribute에 별칭(alias)을 붙일 때 사용한다.
  • AS는 생략 가능하다.

DISTINCT

DISTINCT 사용하기

  • 디자이너들이 참여하고 있는 프로젝트들의 ID와 이름을 알고 싶다.
  • DISTINCT 사용 전
  • DISTINCT 사용 후
  • DISTINCT는 select 결과에서 중복되는 tuples을 제외하고 싶을 때 사용한다.

LIKE

LIKE 사용하기 1

  • 이름이 N으로 시작하거나 N으로 끝나는 임직원들의 이름을 알고 싶다.

LIKE 사용하기 2

  • 이름에 NG가 들어가는 임직원들의 이름을 알고 싶다.

LIKE 사용하기 3

  • 이름이 J로 시작하는, 총 네 글자의 이름을 가지는 임직원들의 이름을 알고 싶다.

escape 문자와 함께 LIKE 사용하기 3

  • %로 시작하거나 _로 끝나는 프로젝트 이름을 찾고 싶다면?

LIKE 정리

* (asterisk)

* (asterisk) 사용하기

  • ID가 9인 임직원의 모든 attributes를 알고 싶다.
    • (asterisk)는 선택된 tuples의 모든 attributes를 보여주고 싶을 때 사용한다.

SELECT without WHERE

SELECT without WHERE

  • 모든 임직원의 이름과 생일을 알고 싶다.
  • 테이블의 있는 모든 tuples을 반환한다.

주의사항

SELECT 조회 시 주의사항

  • SELECT로 조회할 때 조건들을 포함해서 조회를 한다면 이 조건들과 관련된 attributes에 index가 걸려있어야 합니다.
  • 그렇지 않다면 데이터가 많아질수록 조회 속도가 느려집니다.
  • i.g. SELECT * FROM employee WHERE position = 'dev_back'; 여기서 position에 index가 걸려있어야 합니다!
출처 : 쉬운코드
profile
매일 앞으로 나아가는 개발자

0개의 댓글