본문 바로가기

SQL56

[SQL] 특정 테이블의 과거 데이터 조회 -- MySQL의 경우 시간 비교를 위한 시간컬럼명이 필수로 존재해야 조회 가능SELECT * FROM 테이블명 WHERE 시간컬럼명 >= DATE_ADD(NOW(), INTERVAL -10 SECOND); -- 10초 전 해당 테이블의 모든 데이터를 조회SELECT * FROM 테이블명 WHERE 시간컬럼명 >= DATE_ADD(NOW(), INTERVAL -10 MINUTE); -- 10분 전 해당 테이블의 모든 데이터를 조회SELECT * FROM 테이블명 WHERE 시간컬럼명 >= DATE_ADD(NOW(), INTERVAL -10 HOUR); -- 10시간 전 해당 테이블의 모든 데이터를 조회SELECT * FROM 테이블명 WHERE 시간컬럼명 >= DATE_ADD(NOW(), INTERVAL.. 2024. 9. 13.
[SQL] Function, Procedure, Trigger, Sequence, View 스크립트 SHOW CREATE FUNCTION 함수명; SHOW CREATE PROCEDURE 프로시저명; SHOW CREATE TRIGGER 트리거명; SHOW CREATE SEQUENCE 시퀀스명; SHOW CREATE VIEW 뷰명; SELECT DBMS_METADATA.GET_DDL('FUNCTION', '함수명') AS FUNCTION_SRC FROM DUAL; SELECT DBMS_METADATA.GET_DDL('PROCEDURE', '프로시저명') AS FUNCTION_SRC FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TRIGGER', '트리거명') AS FUNCTION_SRC FROM DUAL; SELECT DBMS_METADATA.GET_DDL('SEQUENCE', .. 2024. 2. 27.
[SQL] PK 중복 여부에 따라 INSERT 또는 UPDATE 컬럼1, 컬럼2가 PK일 때 INSERT INTO 테이블명 ( 컬럼1 , 컬럼2 , 컬럼3 , 컬럼4 , 컬럼5 ) VALUES ( 값1 , 값2 , 값3 , 값4 , 값5 ) ON DUPLICATE KEY UPDATE ( 컬럼3 = 값3 , 컬럼4 = 값4 , 컬럼5 = 값5 ); MERGE INTO 테이블명 USING DUAL ON (컬럼1 = 값1 AND 컬럼2 = 값2) WHEN MATCHED THEN UPDATE SET ( 컬럼3 = 값3 , 컬럼4 = 값4 , 컬럼5 = 값5 ) WHEN NOT MATCHED THEN INSERT ( 컬럼1 , 컬럼2 , 컬럼3 , 컬럼4 , 컬럼5 ) VALUES ( 값1 , 값2 , 값3 , 값4 , 값5 ); 2023. 12. 9.
[SQL] Function, Procedure, Trigger, View, Package, Index, Synonyms, Cursor Function : 매개변수를 받아 특정 계산(작업)을 수행하고 결과를 반환하는 기능 Procedure : 특정 작업을 위한 쿼리들의 블록(함수와 거의 비슷) 장점 : 1. 하나의 요청으로 여러 SQL문을 실행(네트워크 부하를 줄일 수 있음) 2. 네트워크 소요 시간을 줄여 성능 개선 3. 여러 어플리케이션과 공유 가능(API처럼 제공 가능) 4. 기능 변경이 편함 단점 : 1. 문자나 숫자열 연산에 사용하면 오히려 C, Java보다 느린 성능을 보일 수 있음 2. 유지보수가 어려움(프로시져가 앱의 어디에 사용되는지 확인 어려움) Trigger : 사전적 뜻은 총의 방아쇠로 총의 방아쇠를 당기는 것과 같이 어떤 이벤트의 자동 실행 View : 하나 이상의 테이블에서 원하는 모든 데이터를 선택하여 간단하게.. 2023. 8. 31.
[SQL] 프로시저(PROCEDURE) & 함수(FUNCTION) 프로시저(PROCEDURE) 조회 쿼리 SELECT * FROM USER_SOURCE WHERE TYPE = 'PROCEDURE' AND NAME = '프로시저명' 함수(FUNCTION) 조회 쿼리 SELECT * FROM USER_SOURCE WHERE TYPE = 'FUNCTION' AND NAME = '함수명' 프로시저와 함수의 차이 프로시저(PROCEDURE) : 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. 함수(FUNCTION) : 위의 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라 한다. 프로시저(PROCEDURE) 함수(FUNCTION) 특정 작업을 수행 특정 계산을 수행 리턴 값을 가질 수도 안 가질 수도 있음 리턴 값을 반드시 가져야 함 리턴 값을 여러 개 가.. 2023. 7. 28.
[SQL] 프로그래머스 [Level-4] 저자 별 카테고리 별 매출액 집계하기 SELECT A.AUTHOR_ID , B.AUTHOR_NAME , A.CATEGORY , SUM(A.PRICE * C.SALES) AS TOTAL_SALES FROM BOOK A , AUTHOR B , BOOK_SALES C WHERE A.AUTHOR_ID = B.AUTHOR_ID AND A.BOOK_ID = C.BOOK_ID AND DATE_FORMAT(C.SALES_DATE, '%Y-%m') = '2022-01' GROUP BY A.AUTHOR_ID, A.CATEGORY, B.AUTHOR_NAME ORDER BY A.AUTHOR_ID, A.CATEGORY DESC SELECT A.AUTHOR_ID , B.AUTHOR_NAME , A.CATEGORY , SUM(A.PRICE * C.SALES) AS T.. 2022. 12. 25.