본문 바로가기
Database/MySQL

데이터 출력 / 정렬 (SELECT / ORDER BY)

by 컴돈AI 2024. 2. 27.

목차

테이블 데이터 출력(SELECT)

  • 테이블 데이터 모두 출력
    • SELECT * FROM 테이블명
    • SELECT * FROM 데이터베이스명.테이블명
  • 테이블 특정 컬럼만 출력
    • SELECT 컬럼명 FROM 테이블명
  • 테이블 특정 컬럼 여러 개 출력
    • SELECT 칼럼명1, 컬럼명2 FROM 테이블명
  • 결과 테이블에서 투플의 중복을 제거하고 한 번씩만 출력되도록 하기
    • SELECT DISTINCT 컬럼명1, 컬럼명2 FROM 테이블명
  • AS를 통해 컬럼명의 이름을 다른 이름으로 지정해 출력해 줄 수 있습니다.
    • SELECT 컬럼명1, 컬럼명2 AS "다른컬럼명2" FROM 테이블명

출력한 데이터 정렬(ORDER BY)

  • 테이블 특정 컬럼 기준 오름차순 정렬
    • SELECT * FROM 테이블명 ORDER BY 컬럼명 (ASC)
    • 기본값은 ASC 순임.(ABCD, 1234, ...)
  • 테이블 특정 컬럼 기준 내림차순 정렬
    • SELECT * FROM 테이블명 ORDER BY 컬럼명 DESC
    • (DCBA, 4321 , ...)
  • 테이블 컬럼별 우선순위로 정렬
    • SELECT * FROM 테이블명 ORDER BY 컬럼명1 ASC, 컬럼명2 DESC (, 컬럼명3 ASC , ...)
      • 컬럼명 1 기준으로 오름차순으로 데이터가 정렬된 뒤, 컬럼명 1이 동일한 데이터에 대해서는 컬럼명 2 기준으로 내림차순 정렬됩니다.
    • 예시
      • 카테고리 내용이 같으면, 가격 DESC 순으로 정렬해 줍니다.

예제

  • product 테이블의 상품명과 가격컬럼 출력해보기
    • SELECT 상품명, 가격 FROM product
  • product 테이블의 모든 컬럼을 출력하는데 가격 낮은 순으로 정렬해보기
    • SELECT * FROM product ORDER BY 가격
  • product 테이블의 모든 컬럼을 출력하는데 가격 낮은 순으로, 가격이 같으면 카테고리가 가나다순으로 뜨도록 정렬해보기
    • SELECT * FROM product ORDER BY 가격 ASC, 카테고리 ASC
  • employee 테이블의 모든 컬럼을 출력하는데 근무기간이 적은 사람이 맨 위에 와야 하고, 같은 근무기간인 경우 이름을 가나다 순으로 정렬하기
    • SELECT * FROM employee ORDER BY 근무기간, 이름
  • 제품 테이블에서 제조업체 속성을 중복 없이 검색해보기
    • SELECT DISTINCT 제조업체 FROM 제품
  • 제품 테이블에서 제품명과 단가 속성을 검색하는데, 단가에 500을 더해 "조정 단가"라는 새 이름으로 출력해보기
    • SELECT 제품명, 단가+500 AS "조정 단가" FROM 제품

출처