설득이 2024. 3. 26. 20:59

코드카타

특정 옵션이 포함된 자동차 리스트 구하기
 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요.
결과는 자동차 ID를 기준으로 내림차순 정렬해주세요.
  • 옵션이 네비게이션이 포함된 = WHERE LIKE '%네비게이션%'
SELECT *
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC;

 

조건에 부합하는 중고거래 상태 조회하기
2022년 10월 5일에 등록된 중고거래 게시물의 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회하는 SQL문
거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력해주시고,
결과는 게시글 ID를 기준으로 내림차순 정렬해주세요
  • 2022년 10월 5일 : DATE_FORMAT
  • 거래상태가 ~ : CASE WHEN
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
       CASE WHEN STATUS = 'SALE' THEN '판매중'
            WHEN STATUS = 'RESERVED' THEN '예약중'
            WHEN STATUS = 'DONE' THEN '거래완료'
       END AS STATUS
FROM USED_GOODS_BOARD
WHERE DATE_FORMAT(CREATED_DATE,'%Y-%m-%d') ='2022-10-05'
ORDER BY BOARD_ID DESC;

 

DRAW THE TRIANGLE 1
P(R) represents a pattern drawn by Julia in R rows. The following pattern represents P(5):
* * * * *
* * * *
* * *
* *
*
Write a query to print the pattern P(20)
  • set @num := 21;은 변수 @num에 21을 할당
  •  * 문자열을 @num 값 만큼 반복하여 출력하고, 각 반복마다 @num 값을 감소
set @num := 21;

select repeat('* ', @num := @num-1)
from information_schema.tables
where
    @num > 0;

 


SQL

  • 집계함수 : 여러 행 또는 열로부터 하나의 결과 값을 반환
    • COUNT : 행의 수
    • SUM : 열 합계
    • AVG : 열 평균
    • MIN : 열 최소값
    • MAX : 열 최대
  • 그룹화 : GROUP BY
    • 특정 컬럼을 기준으로 데이터를 요약해서 비교
    • HAVING : GROUP BY 후 결과값을 기준으로 데이터를 필터
  • SUB QUERY
    • N번의 쿼리문 실행을 1번의 쿼리문으로 실행하기 위해 쿼리의 결과값을 가지고 추가 연산 가능
    • 서브쿼리 -> 메인쿼리
    • ORDER BY절을 사용할 수 없음
    • 일반 서브쿼리
      • WHERE 절에서 사용
    • 스칼라 서브쿼리
      • SELECT 절에서 사용
      • 하나의 컬럼처럼 사용
    • 인라인 뷰
      • FROM 절에서 사용
      • 하나의 테이블처럼 사용