[Database] 데이터 조작어(DML) - SELECT 문 (데이터 검색)


데이터 조작어(DML) - SELECT 문 (데이터 검색)

SQL의 데이터 조작 기능

  • 데이터 검색, 삽입, 수정, 삭제

    • 데이터 검색 : SELECT - 테이블에서 조건에 맞는 튜플을 검색함
    • 데이터 삽입 : INSERT - 테이블에 새로운 튜플을 삽입함
    • 데이터 수정 : UPDATE - 테이블의 조건에 맞는 튜플의 내용을 변경함
    • 데이터 삭제 : DELETE - 테이블에서 조건에 맞는 튜플을 삭제함
  • 예제에 사용할 판매 데이터베이스

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

데이터 검색(SELECT 문)

  • 데이터 검색 (SELECT 문)의 개요

    • SELECT 키워드와 함께 검색하고 싶은 속성의 이름 나열
    • FROM 키워드와 함께 검색하고 싶은 속성이 있는 테이블의 이름 나열
    • 검색 결과 : 테이블 형태

  • 기본 검색

    • SELECT [ ALL ㅣ DISTINCT ] 속성_리스트
      FROM 테이블_리스트;
  • 질의

    • Customer 테이블에 존재하는 모든 속성을 검색하시오.

      • SELECT account, name, grade, credit, address FROM customer;
    • Customer 테이블에 존재하는 모든 속성을 검색하시오.

      • *는 모든 속성을 나타냄 (속성의 순서가 테이블의 속성순서와 동일)
      • SELECT * FROM customer
    • Orders 테이블에서 주문한 item 만 검색하시오.

      • SELECT item FROM orders

        • 결과 테이블의 투플이 중복되어 있음.
          • 관계 데이터 모델의 일반 릴레이션은 동일한 투플이 존재할 수 없음
          • SELECT 문의 수행 결과로 반환되는 테이블에서는 동일한 투플이 중복될 수 있음
          • 결과 테이블이 중복을 허용할 수 있도록 명시적으로 지시하기 위하여 ALL을 사용


    • Orders 테이블에서 주문한 item을 검색하되, 명시적으로 결과 투플의 중복을 허용하시오.

      • SELECT ALL item FROM orders;
    • Orders 테이블에서 주문한 item을 검색하되, 중복을 제거하고 한번씩만 출력되도록 하시오.

      • 결과 테이블의 투플 중복을 제거하기 위하여 DISTINCT를 사용
      • SELECT DISTINCT item FROM orders;
    • items 테이블에서 name, stocks, price를 검색하되, 출력되는 이름으로 ‘이름’, ‘재고’, ‘단가’ 의 이름을 사용하시오.

      • SELECT name as 이름, stocks as 재고, price as 단가 from items;
    • SELECT 다음의 속성_리스트에 산술식을 제시할 수 있다.

      • 산술식 : 속성이름 +, -, *, / 등의 산술 연산자와 상수
    • items 테이블에서 name과 price 속성을 검색하되, price에 500원을 더해 조정단가라는 이름으로 출력하시오.

      • SELECT name, price + 500 as 조정단가 FROM items;