【SQL】기본 정리 2

6481 단어 SQL공부 메모

내용



SQL을 공부하기 시작했으므로 지금까지 배운 지식을 정리합니다.
길어졌기 때문에 【SQL】기본 정리 1 라고 이 기사로 나누었습니다.

이 기사의 내용
  • 유용한 명령
  • AND, GROUP BY, HAVING, DISTINCT

  • 결과를 쉽게 볼 수 있는 명령
  • ORDER BY, LIKE, LIMIT, AS

  • 더 많은 데이터를 사용하기 위한 명령
  • 하위 쿼리, JOIN


  • 아래 내용을 알고 싶은 분은 【SQL】기본 정리 1
  • SQL이란
  • 데이터베이스의 이름
  • 기본 명령
  • SELECT, FROM, WHERE, NOT

  • 사칙 연산이나 집계 명령
  • AVG, SUM, COUNT, MIN, MAX


  • 아래 예제에서 사용되는 데이터 테이블



    cakes


    id
    유형
    이름
    price
    cost


    1
    케이크
    짧은 케이크
    300
    100

    2
    케이크
    몽블랑
    400
    200

    3
    케이크
    치즈케이크
    200
    50

    4
    타르트
    과일 타르트
    400
    300

    5
    젤리
    커피 젤리
    200
    50

    6
    타르트
    초콜릿 타르트
    300
    70


    sales_january


    cake_id
    total


    1
    56

    2
    80

    3
    35

    4
    67

    5
    98

    6
    23


    유용한 명령



    여러 조건을 포함
    - 그리고 AND 또는 OR : 300엔 이하의 케이크를 알고 싶다
    SELECT name
    FROM cakes
    WHERE type = "ケーキ" AND price <= 300;
    

    그룹별로 데이터 보기
    - GROUP BY : 상품 유형별 총 금액을 알고 싶습니다.
    SELECT type, SUM(price)
    FROM cakes
    GROUP BY type;
    

    그룹별로 조건에 맞는 데이터 보기
    - HAVING : 평균 비용이 150엔 이하인 상품 타입을 알고 싶다
    SELECT type, AVG(cost)
    FROM cakes
    GROUP BY type
    HAVING AVG(cost) <= 150;
    

    중복없이 데이터 검색
    - DISTINCT(カラム名) : 어떤 종류의 상품이 있는지 알고 싶습니다.
    SELECT DISTINCT(type)
    FROM cakes;
    

    결과를 쉽게 볼 수 있는 명령



    데이터 정렬 순서 결정
    - 내림차순 DESC 오름차순 ASC : 가격이 높은 상품부터 순서대로 정렬
    SELECT name, price
    FROM cakes
    ORDER BY price DESC;
    

    특정 키워드가 포함된 데이터 검색
    - LIKE % : 이름에 '케이크'가 포함된 제품을 알고 싶습니다.
    SELECT name
    FROM cakes
    WHERE name LIKE "%ケーキ%";
    

    꺼내는 건수 제한
    - % : 가격이 저렴한 상위 5개 상품을 알고 싶다
    SELECT name, price
    FROM cakes
    ORDER BY price ASC
    LIMIT 5;
    

    열 이름을 바꾸고 출력
    - LIMIT : price-cost를 이익이라는 이름으로 출력
    SELECT name, price - cost AS "利益"
    FROM cakes
    

    더 많은 데이터를 사용하는 명령



    하위 쿼리를 사용하여 조건 지정
    - AS : 초콜릿 타트보다 저렴한 상품의 이름과 가격을 알고 싶습니다.
    SELECT name, price
    FROM cakes
    WHERE price < (
      SELECT price
      FROM cakes
      WHERE name = "チョコレートタルト"
    )
    ;
    

    여러 테이블을 사용하여 분석 수행
    - () JOIN テーブル名 ON 結合の条件- 여러 테이블에 동일한 열 이름이있는 경우 SELECT 뒤에도 テーブル名.カラム名 : sales_january에 있는 상품이 팔린 개수를 나란히 출력하고 싶습니다.
    SELECT name, total
    FROM cakes
    JOIN sales_january
    ON cakes.id = sales_january.cake_id;
    

    요약



    SQL의 처음에 배울 기본을 정리했습니다.
    명령을 결합하면 예제에 제시된 것보다 더 많은 분석이 가능합니다.

    좋은 웹페이지 즐겨찾기