영국 척척석사 유학생 일기장👩🏻‍🎓

(SQL) NULL, COUNT, SUM 개념 및 연습문제 본문

코딩공부/SQL

(SQL) NULL, COUNT, SUM 개념 및 연습문제

life-of-nomad 2024. 5. 9. 12:56
728x90
반응형

schema

1) NULL

  • NULL은 0과 다릅니다, 데이터가 존재하지 않는 셀입니다.
  • WHERE 절에서 NULL을 식별할 때 IS NULL 또는 IS NOT NULL 을 씁니다. (NULL은 SQL에서 값으로 간주되지 않기 때문에 =를 사용하지 않습니다)
  • NULL은 LEFT 또는 RIGHT JOIN을 수행할 때 자주 발생합니다. LEFT JOIN의 왼쪽 테이블에 있는 일부 행이 오른쪽 테이블의 행과 일치하지 않으면 해당 행은 결과에 일부 NULL값을 포함합니다.
  • NULL은 단순히 데이터베이스의 데이터가 누락된 경우에도 발생합니다.
SELECT *
FROM accounts
WHERE primary_poc IS NOT NULL;

 

2) COUNT

  • COUNT는 NULL 값이 있는 행을 고려하지 않습니다.
  • 누락된 데이터가 있는 행을 빠르게 식별하는 데 유용합니다.
SELECT COUNT(*) AS account_count
FROM accounts
SELECT COUNT(primary_poc) AS account_primary_poc_count
FROM accounts

 

3) SUM

  • 각 열의 합 구할때 사용합니다.
  • COUNT와 유사하지게 작동하지만 *를 사용할 수 없으며 열 이름을 지정해주어야 합니다.
  • COUNT와는 달리 숫자 값이 포함된 열에만 사용할 수 있습니다.
  • NULL은 0으로 취급합니다.
  • 세로 방식의 열 값으로만 집계합니다.
SELECT SUM(standard_qty) AS standard,
SUM(gloss_qty) AS gloss,
SUM(poster_qty) AS poster
FROM orders

결과 값

 

4) 연습문제

  1. orders 테이블에서 주문한 poster_qty 용지의 총량을 찾습니다.
  2. orders 테이블에서 주문한 standard_qty 용지의 총량을 찾습니다.
  3. orders 테이블의 total_amt_usd를 사용하여 총 판매액을 찾습니다.
  4. 주문 테이블에서 각 주문에 대해 standard_amt_usd  gloss_amt_usd 용지에 지출된 총 금액을 찾습니다. 이것은 테이블의 각 주문에 대해 달러 금액을 제공해야 합니다.
  5. standard_qty 용지 단위당 standard_amt_usd를 찾습니다. 해결책은 집계와 수학 연산자를 모두 사용해야 합니다.
(1,2,3번 해답)
SELECT SUM(poster_qty) AS total_poster_sales, 
SUM(standard_qty) AS total_standard_sales,
SUM(total_amt_usd) AS total_dollar_sales,
FROM orders;
(4번 해답)
SELECT standard_amt_usd + gloss_amt_usd AS total_standard_gloss
FROM orders;
(5번 해답)
SELECT SUM(standard_amt_usd)/SUM(standard_qty) AS standard_price_per_unit
FROM orders;
728x90
반응형