SQL
-
[MySQL] 프로그래머스 Lv 3. 조건에 맞는 사용자와 총 거래금액 조회하기 정답풀이SQL 2023. 8. 12. 21:15
문제 설명 다음은 중고 거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고 거래 게시판 회원 정보를 담은 USED_GOODS_USER 테이블입니다. USED_GOODS_BOARD 테이블은 다음과 같으며 BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS는 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미합니다. Coulmn name Type Nullable BOARD_ID VARCHAR(5) FALSE WRITER_ID VARCHAR(50) FALSE TITLE VARCHAR(100) FALSE CONTENTS VARCHAR(1000) FALSE PRICE NU..
-
[MySQL] 프로그래머스 Lv 3. 조건별로 분류하여 주문상태 출력하기 정답풀이SQL 2023. 8. 12. 21:02
문제 설명 다음은 식품공장의 주문정보를 담은 FOOD_ORDER 테이블입니다. FOOD_ORDER 테이블은 다음과 같으며 ORDER_ID, PRODUCT_ID, AMOUNT, PRODUCE_DATE, IN_DATE, OUT_DATE, FACTORY_ID, WAREHOUSE_ID 는 각각 주문 ID, 제품 ID, 주문양, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다. Coulmn name Type Nullable ORDER_ID VARCHAR(10) FALSE PRODUCT_ID VARCHAR(5) FALSE AMOUNT NUMBER FALSE PRODUCE_DATE DATE TRUE IN_DATE DATE TRUE OUT_DATE DATE TRUE FACTORY_ID VARCHAR..
-
[BigQuery] 웹사이트에서의 행동을 파악하는 데이터 추출하기SQL 2022. 5. 20. 16:52
6장 14강 3번까지를 실습한 내용입니다. 이번에는 웹사이트 전체의 특징과 경향을 찾기 위한 리포트와 SQL을 소개하고자 한다. #샘플 데이터 이번 실습에서는 접근 로그 테이블을 샘플 데이터로 한다. access_log 테이블을 생성하자. DROP TABLE IF EXISTS expanded-lock-349311.lec14.access_log; CREATE TABLE expanded-lock-349311.lec14.access_log( stamp string(255) , short_session string(255) , long_session string(255) , url string , referrer string ); INSERT INTO expanded-lock-349311.lec14.access..
-
[BigQuery] 다면적인 축을 사용해 데이터 집약하기SQL 2022. 5. 6. 02:17
4장 10강을 참고해 실습한 내용입니다. 이전 글의 실습 내용은 꺾은선 그래프로 매출의 추이를 나타내는 것이었다. 이번 글에서는 매출의 시계열뿐만 아니라 상품의 카테고리, 가격 등을 조합해 데이터의 특징을 추출해서 리포팅을 하는 방법을 소개하고자 한다. #샘플 데이터 이번 실습에서는 EC 사이트를 가정해서 'purchase_detail_log'라는 샘플 데이터를 기반으로 한다. 이 EC 사이트는 한 번의 주문으로 여러 상품을 구매할 수 있는데, 하나의 order_id에 item_id, price, category, sub_category 등 여러 정보가 포함되어 있다. purchase_detail_log 테이블을 생성하자. DROP TABLE IF EXISTS expanded-lock-349311.lec..
-
[BigQuery] 시계열 기반으로 데이터 집계하기SQL 2022. 5. 6. 02:03
4장 9강을 참고하여 실습한 내용입니다. #시계열로 데이터를 집계하는 이유는? 시계열로 매출 금액, 사용자 수, 페이지 뷰 등의 다양한 데이터를 집계하는 것은 웹사이트 또는 서비스의 상태를 파악할 때 중요한 작업이다. 시계열로 매출 금액을 집계하면 어떤 규칙성을 찾거나, 어떤 기간과 비교하여 변화폭을 확인할 수 있다. #샘플 데이터 2014년의 매출 데이터를 샘플로 사용할 것이다. 빅쿼리에 아래의 코드를 작성해 매출 테이블을 생성해보자. DROP TABLE IF EXISTS expanded-lock-349311.lec9.purchase_log; CREATE TABLE expanded-lock-349311.lec9.purchase_log( dt string(255) , order_id integer , u..
-
[Oracle] WHERE 절을 이용한 조건 검색SQL 2022. 4. 18. 14:30
22/04/14 강의 실습 내용 WHERE 절 where 절을 이용하면 테이블에 저장된 데이터 중에서 원하는 데이터만 선택적으로 검색할 수 있다. 문자와 날짜 타입의 상수 값은 작은 따옴표(' ')로 묶어서 표현하고 숫자는 그대로 사용한다. 상수 값에서 영문자는 대소문자를 구별한다. Q. 학생 테이블에서 1학년 학생만 검색하여 학번, 이름, 학과 번호를 출력하라. select studno, name, deptno from student where grade=1; * 비교 연산자를 사용한 조건 검색 비교 연산자는 where 절에서 숫자, 문자, 날짜의 크기나 순서를 비교하는 연산자다. 연산자 의미 = 같다 !=, 같지 않다 > 크다 >= 크거나 같다
-
[Oracle] SELECT 명령문을 사용하여 다양한 방법으로 데이터 출력하기SQL 2022. 4. 15. 16:34
22/04/13 강의 실습 내용 SELECT 명령문 테이블에 저장된 데이터를 검색할 때는 SELECT 명령문을 사용한다. SELECT 명령문의 표준 형식은 6개의 절로 구성되어 있는데, SELECT절과 FROM절은 필수이고 나머지는 필요에 따라 선택적으로 사용한다. select 콜롬명 from 테이블명 (where 조건) (group by 콜롬명) (having 조건) (order by 콜롬명) 테이블의 모든 콜롬에 저장된 데이터를 출력하는 방법은 select * from 콜롬명; 으로 앞서 자주 사용하였기에 빠르게 넘어가고, 오늘은 다양한 방법으로 데이터를 출력해볼 것이다! * 중복행 제거 SELECT절에 DISTINCT 키워드를 사용하면 중복행을 제거할 수 있다. Q. 학생들의 소속 학과를 구하라. ..
-
[Oracle] 테이블에 데이터를 잘못 삭제 또는 잘못 입력했을 때!SQL 2022. 4. 14. 00:26
22/04/07 강의 실습 내용 #1. 데이터를 실수로 삭제한 경우 우리는 SQL에서 테이블 전체를 삭제하고 싶다면 drop table문을, 테이블은 살리고 데이터만 삭제하고 싶다면 delete from문을 사용한다. 그런데, 실수로 잘못 삭제했을 경우에는 어떻게 해야 할까? (열심히 한 걸 이대로 날릴 순 없어 ㅠㅠ) 잘못 삭제했더라도 아직 프로그램을 종료하지 않았다면 안심해도 된다! 방전으로 꺼진 경우가 아니라면, 오라클 프로그램을 로그아웃할 때 자동으로 커밋이 되는 건 알고 있을 것이다. 아직 끄지 않은 상태에서는 commit;을 을 실행하지 않았다면 괜찮다. commit;을 실행하면 디스크에 영구적으로 반영되어 새로운 트랜지션이 시작되므로 그땐 되돌릴 수 없다. 아직 잘못 삭제한 뒤 커밋하지 않았..