[Database] 정렬 검색 - ORDER BY 를 이용한 검색


정렬 검색 - ORDER BY 를 이용한 검색

  • SELECT 문의 검색 결과 테이블의 투플 순서는 DBMS에서 정한 순서로 출력됨
  • 결과 테이블의 내용을 사용자가 원하는 순서로 출력하는 방법 ==> ORDER BY 키워드 사용
  • 기본 형식

    • SELECT [ ALL ㅣ DISTINCT ] 속성_리스트
      FROM 테이블_리스트
      [ WHERE 조건 ]
      [ ORDER BY 속성_리스트 [ ASC ㅣ DESC ] ];

      • ORDER BY 속성_리스트 : 정렬 기준이 되는 속성을 지정
      • 여러 기준에 따라 정렬하기 위하여 정렬 기준이 되는 속성을 차례로 제시
      • ASC : 오름차순 정렬
      • DESC : 내림차순 정렬
      • 기본 정렬 방식 – 오름차순 정렬
  • 정렬

    • 오름차순 정렬 : 알파벳 순서 / 사전 순서, ASCII 코드의 순서
    • 내림차순 정렬 : 오름차순의 반대
    • NULL 값의 출력 위치
      • 오름차순 – 첫 번째 출력
      • 내림차순 - 맨 마지막에 출력
  • 예제에 사용할 판매 데이터베이스

    • Customer 테이블
    • Items 테이블
    • Orders 테이블


  • Customer 테이블에서 계정(account), 이름(name), 등급(grade)를 검색하되, 계정(account)을 내림차순으로 정렬하시오.

    • SELECT account, name, grade FROM customer ORDER BY account DESC;
  • Orders 테이블에서 주문 수량(qty)이 10개 미만인 주문의 고객계정(customer), 제품코드(item), 수량(qty), 주문일자를 검색하시오. 단, 제품코드를 기준으로 오름차순으로 정렬하고, 동일 제품은 수량을 기준으로 내림차순으로 정렬하시오.

    • SELECT customer, item, qty, date FROM orders WHERE qty < 10 ORDER BY item ASC, qty DESC;
  • Items 테이블의 품명(name) 과 가격(price)를 검색하되, 가격(price)를 내림차순으로 검색하여 NULL의 위치를 확인하고, 다시 오름차순으로 검색하여 NULL의 위치를 확인하시오.

    • SELECT name, price FROM items ORDER BY price DESC;

    • SELECT name, price FROM items ORDER BY price ASC;