본문 바로가기

SQL36

[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.
[PL/SQL] 숫자의 합 / 입,출력하기 / 홀수, 짝수 / 분류하기 문제 1. 숫자 2개를 입력받아 합이 결과로 출력 set serveroutout on : dbms_out.put_line 결과를 화면에 출력하도록 설정 set serveroutput on accept p_num1 prompt '첫 번째 숫자 입력' accept p_num2 prompt '두 번째 숫자 입력' declare v_sum number(10); --변수 선언 begin v_sum := &p_num1 + &p_num2 ; -- 오른쪽 실행된 값이 v_sum으로 할당됨 dbms_output.put_line('총합은:' || v_sum); -- 츨력문 end; -- PL/SQL 블록 종료 2. 사원번호 물어보고 사원번호 입력받으면 해당 사원의 월급 출력 set serveroutput on accept p_.. 2022. 10. 2.
[PL/SQL] Basic Loop/For Loop/이중 LOOP/While Loop문 - 구구단출력하기 1. Basic Loop문으로 구구단 2단 출력 declare v_count numer(10) := 0; begin loop v_count := v_count + 1 -- loop돌때마다 1씩 증가 dbms_output.put_line('2 x ' || v_count || '=' || 2 * v_count ); -- 출력문 exit when v_count = 9; -- v_count가 9일때 loop문 종료 (exit 안하면 무한루프반복 주의) end loop; end; / exit 를 반드시 적어야한다!! 2. For Loop문으로 구구단 2단 출력 Basic loop에서 꼭 exit문 써야하는것과 달리 exit문이 필요없다. 가장 간단한 loop문이다! begin for i in 1..9 loop -.. 2022. 10. 2.
[Python] Numpy란? 배열생성,차원변경/ 행렬곱(내적dot)/ 원소접근 1. Numpy 란? 배열, 행렬형식의 대량의 데이터를 다루기 위한 숫자 전문 라이브러리이다. array : 동일데이터로 이루어진 데이터셋 ndarray : numpy의 n차원 배열객체. 하나의 데이터 타입만 가질 수 있다. 차원 1차원 축(행) : axis0 → Vector 2차원 축(열): axis1 → Matrix 3차원 축(채널): axis2 → Tensor(3차원이상) ✔️n차원 배열 예시 # 2차원배열은 [[두번 감싸준다고 생각하면됨! a = np.array([[1,2],[3,4]]) [out] array([[1, 2], [3, 4]]) # a의 형태와 type확인 print(a.ndim) # 차원 확인 2 print(a.shape,a.dtype) # (2, 2) int32 b = np.arr.. 2022. 10. 2.