SQL

SQL Queries 실습

hyungminjeon 2025. 3. 28. 19:47

 

  • 연산자: =, AND, OR, LIKE, IS NULL, >, <
  • : SELECT, FROM, WHERE, DISTINCT, ORDER BY, LIMIT, CASE

1. Operators (연산자)

  1. = (Equal to)
    • 사용 예시: cuisine = 'Italian'
      특정 컬럼의 값이 지정한 값과 일치하는지를 비교.
  2. AND (Logical AND)
    • 사용 예시: cuisine = 'Italian' AND price = '$$$'
      여러 조건을 동시에 만족하는 데이터만 선택할 때 사용.
  3. OR (Logical OR)
    • 사용 예시: neighborhood = 'Midtown' OR neighborhood = 'Downtown' OR neighborhood = 'Chinatown'
      여러 조건 중 하나라도 만족하는 데이터를 선택할 때 사용.
  4. LIKE (Pattern Matching)
    • 사용 예시: name LIKE '%meatball%'
      주어진 패턴에 맞는 값을 찾을 때 사용. %는 와일드카드로, 문자열 앞뒤나 중간에 어떤 값이 올 수 있음을 의미.
  5. IS NULL (Null Check)
    • 사용 예시: health IS NULL
      특정 컬럼의 값이 NULL인 경우를 찾을 때 사용.
  6. > (Greater than), < (Less than), = (Equal)
    • 사용 예시: review > 4.5
      특정 컬럼의 값이 다른 값보다 크거나 작은지를 비교.

2. Clauses (절)

  1. SELECT
    • 사용 예시: SELECT * FROM nomnom;
      데이터베이스에서 컬럼과 데이터를 선택할 때 사용.
  2. FROM
    • 사용 예시: FROM nomnom
      데이터를 검색할 테이블을 지정하는 절.
  3. WHERE
    • 사용 예시: WHERE cuisine = 'Italian' AND price = '$$$'
      특정 조건에 맞는 데이터를 필터링할 때 사용.
  4. DISTINCT
    • 사용 예시: SELECT DISTINCT cuisine FROM nomnom;
      중복된 값을 제외하고 고유한 값을 선택할 때 사용.
  5. ORDER BY
    • 사용 예시: ORDER BY review DESC
      데이터를 특정 컬럼을 기준으로 오름차순(ASC) 또는 내림차순(DESC)으로 정렬할 때 사용.
  6. LIMIT
    • 사용 예시: LIMIT 10
      결과의 개수를 제한할 때 사용. LIMIT 10은 상위 10개의 결과만 가져옴.
  7. CASE
    • 사용 예시:조건문을 사용하여 값에 따라 다른 결과를 출력할 때 사용.
    • sql
      CopyEdit
      CASE WHEN review > 4.5 THEN 'Extraordinary' WHEN review > 4 THEN 'Excellent' WHEN review > 3 THEN 'Good' WHEN review > 2 THEN 'Fair' ELSE 'Poor' END AS 'Rating system'

 

 

SELECT *
FROM nomnom;

SELECT DISTINCT cuisine
FROM nomnom;

SELECT *
FROM nomnom
WHERE cuisine = 'Italian'
   AND price = '$$$';

SELECT *
FROM nomnom
WHERE neighborhood = 'Midtown'
   OR neighborhood = 'Downtown'
   OR neighborhood = 'Chinatown'; 

SELECT *
FROM nomnom
WHERE name LIKE '%meatball%';


SELECT *
FROM nomnom
WHERE health IS NULL;

SELECT *
FROM nomnom
ORDER BY review DESC
LIMIT 10;


SELECT *, 
CASE 
  WHEN review > 4.5 THEN 'Extraordinary'
  WHEN review > 4 THEN 'Excellent'
  WHEN review > 3 THEN 'Good'
  WHEN review > 2 THEN 'Fair'
  ELSE 'Poor'
END AS 'Rating system'
FROM nomnom;