You& Data_Science & Life

SQL_programmers_quiz_2_sum_min_max

2. SUM, MAX, Min

■ Q_1

SELECT COUNT(DISTINCT(NAME))
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;

Learning

  • 행 결합
    • DISTINCT : (=unique)
    • IS NOT NULL : Null 제외




■ Q_2

-- 1) using order by
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
ORDER BY PRICE DESC
LIMIT 1;

-- 2) using sub-query
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
WHERE PRICE = (
  SELECT MAX(PRICE) AS MAX_PRICE
  FROM FOOD_PRODUCT
  );

Learning

  • 행 결합
    • DISTINCT : (=unique)
    • IS NOT NULL : Null 제외




■ Q_3

-- 1) using order by
SELECT 
    dept_no,
    SUM(CASE WHEN hire_date < '2000-01-01' THEN 1 ELSE 0 END) AS hired_before_2000,
    SUM(CASE WHEN hire_date >= '2000-01-01' THEN 1 ELSE 0 END) AS hired_after_2000
FROM 
    (SELECT e.emp_no, e.hire_date, de.dept_no 
     FROM employees e 
     JOIN dept_emp de ON e.emp_no = de.emp_no) AS derived_table
GROUP BY dept_no;