본문 바로가기

전체 글127

[SQL 문제] LISTAGG / 최대공약수, 최소공배수 / 직각삼각형 1. LISTAGG LISTAGG는 중복제외(DISTINCT)를 지원하지 않으므로 애초에 중복제외한 테이블에서 불러온다. -- LISTAGG는 중복제외(DISTINCT)를 지원하지 않으므로 애초에 중복제외한 테이블에서 불러온다. SELECT LISTAGG(DRIVER_NM, ',') WITHIN GROUP (ORDER BY DRIVER_NM) AS DRIVER_NM FROM (SELECT DISTINCT DRIVER_NM FROM DRIVER_INFO 2. 두 숫자를 입력받아 최대 공약수를 출력 ACCEPT P_N1 PROMPT '첫 번째 숫자 입력:' ACCEPT P_N2 PROMPT '두 번째 숫자 입력:' WITH NUM_D AS (SELECT &P_N1 AS NUM1, &P_N2 AS NUM2 F.. 2022. 12. 13.
[SQL 문제] UNPIVOT / 구구단 / 삼각형, 사각형 출력 / 숫자의 합, 곱, 짝수, 소수 출력 1. UNPIVOT 예제 SELECT * FROM order2 UNPIVOT (건수 for 아이템 in (BICYCLE, CAMERA, NOTEBOOK)); --열로 된 컬럼명(BICYCLE, CAMERA, NOTEBOOK)들을 '아이템'이라는 컬럼명으로 세로로 출력 --원래 값들은 건수라는 컬럼명으로 세로로 출력 # as 로 이름값 변경 SELECT * FROM order2 UNPIVOT (건수 for 아이템 in (BICYCLE as 'B', CAMERA as 'C', NOTEBOOK as 'N')); 2. 구구단 출력 문제 WITH LOOP_TABLE AS (SELECT LEVEL AS NUM FROM DUAL CONNECT BY LEVEL 2022. 12. 13.
[oracle] 오라클 단축키 / 비밀번호 변경 일반 단축키 CTRL + SHIFT + F : 라인정리 ★ CTRL + N : Connect하기 ★ • F3, CTRL + F : 검색 대소문자 변경 : alt + ‘ CTRL + U : 소문자로 변경 CTRL + SHIFT + U : 대문자로 변경 ALT + F5 : SQL Tool 추가 ctrl + F7 : 자동정렬 확장된 붙여넣기(이전에 클립보드에 있던 복사내역들 보여줌) : ctrl + shift + v 파일 출력하기 : ctrl + P 데이터베이스 접속 : alt + F10 쿼리 실행 관련 단축키 CTRL + ENTER : 하나의 쿼리 실행 F5 : 스크립트 모든 쿼리 실행(일부 드래그 실행도 가능) CTRL + L : 선택한 쿼리만 실행(드래그한 특정 개수의 쿼리 실행) F8 : 이전에 실행한.. 2022. 12. 12.
[leetcode] 1667. Fix Names in a Table / CONCAT, SUBSTRING 1667. Fix Names in a Table https://leetcode.com/problems/fix-names-in-a-table/ Fix Names in a Table - LeetCode Can you solve this real interview question? Fix Names in a Table - Table: Users +----------------+---------+ | Column Name | Type | +----------------+---------+ | user_id | int | | name | varchar | +----------------+---------+ user_id is the primary key fo leetcode.com Write an SQL quer.. 2022. 12. 12.
2022. 12. 11.
[SQL문법] 날짜, 시간 더하기 (DATE_ADD, DATE_SUB) 날짜, 시간 더하기 DATE_ADD DATE_ADD(기준 날짜, INTERVAL) EX) '2023-01-01 01:00:00' 에 날짜, 시간 더하기 # 1초 더하기 SELECT DATE_ADD('2023-01-01 01:00:00', INTERVAL 1 SECOND) # [OUT] '2023-01-01 01:00:01' # 1시간 더하기 SELECT DATE_ADD('2023-01-01 01:00:00', INTERVAL 1 HOUR) # [OUT] '2023-01-01 02:00:00' # 1일 더하기 SELECT DATE_ADD('2023-01-01 01:00:00', INTERVAL 1 DAY) # [OUT] '2023-01-02 02:00:00' EX) '2023-01-01 01:00:00' .. 2022. 12. 9.
[프로그래머스]Lv5. 상품을 구매한 회원 비율 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131534 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답코드 SELECT YEAR, MONTH , COUNT(*) AS PUCHASED_USERS , ROUND((COUNT(*)/ (SELECT COUNT(*) FROM USER_INFO WHERE YEAR(JOINED) = 2021)), 1) AS PUCHASED_RATIO FROM ( SELECT DISTINCT YEAR(S.SALES_DATE) AS YEAR, MONTH(S.SALES_.. 2022. 12. 6.
[프로그래머스] Lv3. 오랜 기간 보호한 동물(1) (2) / LEFT JOIN 오랜 기간 보호한 동물(1) https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 데이터 조회 # 1 SELECT INS.animal_id, INS.datetime, OUTS.animal_id FROM animal_ins INS LEFT JOIN animal_outs OUTS ON INS.animal_id = OUTS.animal_id WHERE OUTS.animal_id IS NULL -- INS테이블에는 있으나 입양가지 않은 animal_id는 .. 2022. 12. 5.
[SQL 문법] SUBSTR 특정 문자 추출 , LENGTH / CHAR_LENGTH 길이 추출, INSTR 위치 추출 1. SUBSTR(문자, 시작, 끝) SELECT SUBSTR ('SMITH',1,3) name -- 'SMITH'에서 1번째부터 3번째까지 문자추출 FROM DUAL; 2. LENGTH(문자) 문자의 byte 길이를 반환, 한글같은 문자는 정확한 길이를 가져오기 어려움. SELECT ename, LENGTH(ename) FROM emp; LENGTHB : 바이트의 길이를 반환 (한글은 한글자에 3바이트) SELECT LENGTHB('가나다라마') FROM DUAL; 3. CHAR_LENGTH(문자) 또는 CHARACTER_LENGTH(문자) LENGTH처럼 byte가 아니라 문자가 몇개가 있는지 그대로 반환해줌 SELECT CHAR_LENGTH('HELLO') SELECT CHARACTER_LENGTH.. 2022. 12. 3.