[SQL] 실습 정리 (View)

2022. 11. 26. 00:00·Development Study/Backend
728x90

SUBSTR 연습 많이 할 것

신입사원들이 가장 많이 혼동하는 것이 문자를 다루는 함수들에
문자가 아닌 다른 형태를 쓰는 경우가 많다고 한다

특히 분석과 쪽에서는 시계열 자료들을 많이 보려고 하기 때문에
타입을 잘 확인하고 적용해야 한다
EX) 연도별, 일별, 월별 판매금액 등

DATEDIFF(DATE1, DATE2) = DATE2와 DATE1의 날짜 차이를 계산 해준다)
SYSDATE = 시스템상의 날짜를 반환한다

1.REPLACE.1 휴대폰 첫 자리가 000인 경우 010으로 바꿔서 출력하시오

SELECT REPLACE(phone,"000","010")
FROM Customer
RESULT

1.DATE_FORMAT.2 ORDERDATE를 STRING TYPE의 yyyymmdd로 바꿔보기

SELECT DATE_FORMAT(orderdate,'%Y%m%d')
FROM Orders
RESULT

1.SUBSTR.3 1.DATE_FORMAT.2문제에서 SUBSTR을 이용하여 년, 월만 나오게 출력하기

SELECT SUBSTR(DATE_FORMAT(orderdate,'%Y-%m-%d'),1,7)
FROM Orders
RESULT

2.SYSDATE().1 오늘 일자 출력

SELECT SYSDATE()
RESULT

2.DATE_FORMAT().2 오늘 일자의 날짜 부분만 출력

SELECT DATE_FORMAT(SYSDATE(), '%Y%m%d')
RESULT

2.DATE_ADD().3 오늘 일자 기준으로 15일 후 날짜를 출력

SELECT DATE_FORMAT(DATE_ADD(SYSDATE(), INTERVAL 15 DAY), '%Y%m%d') AS LATER15
RESULT

2.DATEDIFF().4 오늘 일자와 ORDERDATE 날짜 차이(일수) 계산

SELECT orderid, DATEDIFF(SYSDATE(), orderdate)
FROM Orders
RESULT

2.ADDDATE().5 ORDERDATE와 ORDERDATE 15일 후 일자 출력

SELECT orderdate, ADDDATE(orderdate, INTERVAL 15 DAY) AS 15DaysLater
FROM Orders
RESULT


3.SET(),@SEQ.1 예제: 행 번호

SET @SEQ:=0;
SELECT (@SEQ:=@SEQ+1), custid, name
FROM Customer
WHERE @SEQ < 2;
RESULT

4.JOIN.2 예제

SELECT A.name, B.bookid, B.saleprice
FROM Customer A, Orders B
WHERE A.custid = B.custid
    AND A.name = 'Park JiSung';
RESULT

4.SCALAR_SUB_QUARY.3 예제이지만 추천은 하지 않는 방식의 JOIN관련 예제

SELECT A.custid,
      (SELECT B.name FROM Customer B
        WHERE A.custid = B.custid),
        A.saleprice
FROM Orders A
RESULT

4.SCALAR_SUB_QUARY.4 위의 예제 말고 추천하는 방식의 JOIN문

SELECT A.custid, B.name, A.saleprice
FROM Orders A, Customer B
WHERE A.custid = B.custid;
RESULT

4.INLINE_VIEW.5 종종 쓰이는 INLINE_VIEW 방식의 SQL문, 코딩테스트에서 쓰면 감점될 수 있다
고객 번호가 2 이하인 고객의 판매금액 출력(고객이름과 판매액)

SELECT A.custid, A.name, B.saleprice
FROM (SELECT custid, name
  FROM Customer
  WHERE custid <= 2) A,
  Orders B
WHERE A.custid = B.custid
# 위 처럼 쓰면 저 자체만으로 TABLE A가 된다
RESULT

4.VIEW.6 종종 쓰이는 VIEW 방식으로, 테이블이 아니라, 항상 join해야 하는 부분의 값을 저장시켜두고 미리 구동시킨 다음 테이블처럼 볼 수 있도록 만들어두는 기능을 가진 SQL문
실질적으로 존재하지는 않지만 종종 사용한다
주문번호, 고객번호, 고객이름, 도서번호, 도서이름, 판매금액
VIEW는 V로 시작하는 이름을 가지게 설정한다
이제 방법을 알았으니 요긴하게 쓰면 된다

CREATE VIEW V_Orders
AS
SELECT A.orderid, A.custid, B.name, A.bookid, C.bookname, A.saleprice
FROM Orders A, Customer B, Book C
WHERE A.custid = B.custid
    AND A.bookid = C.bookid;
RESULT
RESULT_VIEW

728x90
저작자표시 비영리 변경금지 (새창열림)

'Development Study > Backend' 카테고리의 다른 글

[SQL] 실습 + 빅데이터 분석 방법들  (0) 2022.12.10
[SQL] 실습 정리  (0) 2022.12.03
[SQL] 실습 정리(SUB_QUARY, UPDATE)  (0) 2022.11.19
[SQL] 실습 정리(+JOIN, OUTER_JOIN, CASE, SUBQUARY)  (0) 2022.11.12
[SQL] JOIN문 실습 정리  (0) 2022.11.11
'Development Study/Backend' 카테고리의 다른 글
  • [SQL] 실습 + 빅데이터 분석 방법들
  • [SQL] 실습 정리
  • [SQL] 실습 정리(SUB_QUARY, UPDATE)
  • [SQL] 실습 정리(+JOIN, OUTER_JOIN, CASE, SUBQUARY)
ThreeLight
ThreeLight
ThreeLight Studio의 블로그, TimeMap.exe에 오신 것을 환영합니다.
  • ThreeLight
    TimeMap.exe
    ThreeLight
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Checkpoint (1)
      • (3D)Dev Deep Dive (0)
        • Templates & Guides (9)
        • Frontend origin (9)
        • Backend origin (1)
        • TroubleShootings (4)
      • Development Study (95)
        • Frontend (36)
        • Backend (21)
        • CS(Computer Science) (2)
        • Background Knowledges (11)
        • Algorithm (2)
        • Mobile (3)
        • AWS (6)
        • Python (6)
        • MSW(MapleStoryWorlds) (8)
      • Coding Test (59)
        • 문제.zip (1)
        • BaekJoon_JavaScript (0)
        • Programmers_JavaScript (9)
        • BaekJoon_Python (23)
        • Programmers_Python (10)
        • Undefined_Python (3)
        • Programmers_SQL (13)
      • 활동내역.zip (43)
        • 개인 (21)
        • Techeer (12)
        • Bootcamp (7)
        • Hackathon (1)
        • TeamProjects (2)
      • 여기 괜찮네??(사이트 | App) (5)
      • 재미있는 주제들 (8)
      • 개발 외 공부 저장소 (11)
        • 생산운영관리 (3)
        • 생활속의금융 (6)
        • 경영정보시스템 (2)
  • 링크

    • TimeMap.dmg (Portfolio)
    • GitHub 바로가기
    • 오픈프로필(카카오톡)
    • Medium 바로가기
    • Disquiet 바로가기
    • LinkedIn 바로가기
  • 인기 글

  • 태그

    Baek Joon
    HTML
    programmers
    Python
    JavaScript
    프로그래머스
    react
    SQL
    CSS
    TypeScript
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
ThreeLight
[SQL] 실습 정리 (View)
상단으로

티스토리툴바