본문 바로가기

oracle7

[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.
[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.
[SQL문법] CONCAT 함수, || 연산자 (문자열 연결, 합치기) 1. CONCAT 함수 SELECT CONCAT (str1, str2 ...) ; SELECT CONCAT('오늘의 날씨는',':','흐립니다.') FROM DUAL; [out] 오늘의 날씨는 : 흐립니다. 오라클은 매개변수를 2개만 받기때문에 여러 문자를 연결하려면 중첩해서 CONCAT함수를 사용해야한다. SELECT CONCAT(CONCAT(ename, ' '),job) 직원, sal 월급 FROM EMP; 2. || 연산자 Oracle에서는 문자열을 연결시켜주는 도구로 쓰이고, MySQL에서는 논리연산자 OR를 의미한다. Oracle SELECT ename || ' ' || job 직원, sal 월급 FROM EMP; 문자열이 아닌 타입 합치기 SELECT 'ename:' || ename || ' .. 2022. 11. 17.
[oracle] 서울시 가장 비싼 물건과 가격 출력 / 서브쿼리 / ROWNUM Q. 서울시 물가 CSV - 서울시 물가중 가장 비싼 품목과 가격 출력 테이블 생성 -- CSV 파일 저장할 테이블 생성 create table seoul_price ( P_SEQnumber(10), M_SEQnumber(10), M_NAME varchar2(80), A_SEQnumber(10), A_NAMEvarchar2(60), A_UNITvarchar2(40), A_PRICEnumber(10), P_YEAR_MONTHvarchar2(30), ADD_COL varchar2(180), M_TYPE_CODEvarchar2(20), M_TYPE_NAMEvarchar2(20), M_GU_CODEvarchar2(10), M_GU_NAMEvarchar2(30) ); 상위 5개만 출력 ROWNUM -- 데이터 임.. 2022. 10. 4.
[oracle] 가장 많이 나오는 어절 출력, 등록금이 가장 높은 대학 출력 / REGEXP_SUBSTR / RANK / WHERE 1. 스티브 잡스가 2005년도에 스탠포드에서 한 연설문 CSV - 가장 많이 나오는 어절 출력 -- CSV 파일 저장할 테이블 생성 CREATE TABLE STEVE_SPEECH (SPEECH_TEXT VARCHAR2(1000)); -- 연설문 문장 건수 확인 SELECT COUNT(*) FROM STEVE_SPEECH; [OUT] COUNT 143 REGEXP_SUBSTR(대상 문자, 패턴, 시작 위치(최소값1),매칭순번) '[^ ]+' 는 공백이 아니면서 철자가 여러개가 있는 것을 뜻하는 것으로 문자열에서 어절을 의미한다. 1, 2 는 첫번째 어절(I)부터 시작하는, 두번째 어절(never)을 가져오라는 뜻이다. 1,1 의 결과는 I 이고, 1, 3의 결과는 graduated이다. -- REGEXP.. 2022. 10. 4.
[oracle] 범죄가 가장 많이 발생하는 요일, 범죄 동기 출력 / UNPIVOT / RANK Q1. 요일별 범죄현황 CSV - 범죄별 가장 많이 발생하는 요일 출력하기 1. 테이블 생성 -- CSV 파일 저장할 테이블 생성 CREATE TABLE CRIME_DAY ( CRIME_TYPE VARCHAR2(50), SUN_CNT NUMBER(10), MON_CNT NUMBER(10), TUE_CNT NUMBER(10), WED_CNT NUMBER(10), THU_CNT NUMBER(10), FRI_CNT NUMBER(10), SAT_CNT NUMBER(10), UNKNOWN_CNT NUMBER(10) ); 2. 요일출력이 용이하도록 UNPIVOT문으로 요일컬럼을 행으로 출력하는 테이블 생성 CREATE TABLE CRIME_DAY_UNPIVOT AS SELECT * FROM CRIME_DAY UNP.. 2022. 10. 4.