스터디 노트🖊️_Day 37(SQL)

정설령·2023년 4월 22일

SQL

목록 보기
9/9
post-thumbnail

✔️ SQL 심화 8~10

  • 기본 실습 환경(sandwich 테이블 이용)

Scalar Functions (스칼라 함수)

  • 사용방법
    • SELECT UCASE(string);
    • SELECT LCASE(string);
    • SELECT MID(string, 시작점, 문자열길이);
    • SELECT LENGTH(string);
    • SELECT ROUND(number, 소수점위치);
    • SELECT NOW();
    • SELECT FORMAT(number, 소수점위치);
  • sandwich 테이블에서 가게 이름은 대문자, 메뉴 이름은 소문자로 조회
  • sandwich 테이블에서 10위 메뉴의 마지막 단어를 조회
  • sandwich 테이블에서 메뉴 이름의 평균 길이를 조회
  • oil_price 테이블에서 가격을 십원 단위에서 반올림해서 조회
  • oil_price 테이블에서 가격이 십원 단위에서 반올림했을 때 2000원 이상인 경우, 천단위에 콤마를 넣어서 조회

Subquery

하나의 SQL문 안에 포함 되어있는 또 다른 SQL 문으로, 메인쿼리가 서브쿼리를 포함하는 종속적인 관계이다.

  • 서브쿼리는 메인쿼리의 칼럼 사용 가능
  • 메인쿼리는 서브쿼리의 칼럼 사용 불가
  • 주의사항
    • Subquery는 괄호로 묶어서 사용
    • 단일행 혹은 복수행 비교 연산자와 함께 사용 가능
    • subquery에서는 order by 사용 X
  • 서브쿼리 종류
    1. 스칼라 서브쿼리 (Scalar Subquery) - SELECT 절에사용
    2. 인라인 뷰 (Inline View) - FROM 절에사용
    3. 중첩 서브쿼리 (Nested Subquery) - WHERE 절에사용
      • Single Row - 하나의 열을 검색하는 서브쿼리
      • Multiple Row - 하나 이상의 열을 검색하는 서브쿼리
      • Multiple Column - 하나 이상의 행을 검색하는 서브쿼리

스칼라 서브쿼리 (Scalar Subquery)

  • 기본 문법
  • 서울 은평경찰서의 강도 검거 건수와 서울시 경찰서 전체의 평균 강도 검거 건수를 조회

인라인 뷰 (Inline View)

  • 기본 문법
  • 경찰서별로 가장 많이 발생한 범죄 건수와 범죄 유형을 조회

중첩 서브쿼리 (Nested Subquery)

  • 기본 문법
  • single row (비교 연산자 사용)
  • multiple row (IN 사용) - SNL에 출연한 영화배우 조회
  • multiple row (EXISTS 사용) - 범죄 검거 혹은 발생 건수가 2000건 보다 큰 경찰서 조회
  • multiple row (ANY 사용) - SNL에 출연한 적이 있는 연예인 이름 조회
  • multiple row (ALL 사용, 비교연산자 사용)
  • multiple column - 강동원과 성별, 소속사가 같은 연예인의 이름, 성별, 소속사를 조회

문제

  1. oil_price 테이블에서 셀프 주유의 평균 가격과 SK에너지의 가장 비싼 가격을 Scalar Subquery를 사용하여 조회
  2. oil_price 테이블에서 상표별로 가장 비싼 가격과 상호를 Inline View를 사용하여 조회
  3. 평균 가격보다 높은 주유소 상호와 가격을 Nested Subquery 를 사용하여 조회
  4. 3번에서 조회한 주유소에서 주유한 연예인의 이름과 주유소, 주유일을 Nested Subquery 를 사용하여 조회
  5. refueling 테이블과 oil_price 테이블에서 10만원 이상 주유한 연예인이름, 상호, 상표, 주유금액, 가격을 Inline View를 사용하여 조회

"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다."

0개의 댓글