본문 바로가기

SQL3

[SQL] Stored Program(프로시저, 사용자 지정 함수, 트리거, 트랜잭션) Stored Program 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합으로 MySQL 안에서 프로그래밍 언어와 같은 기능을 제공하는 프로그램입니다. 자주 사용하는 복잡한 쿼리를 하나로 묶어서 이름으로 지정하여 이름을 호출하여 실행되도록 설정합니다. 특징 종류 개념 프로시저 특징 • 어떠한 동작을 일괄 처리하기 위한 용도 • 자주 사용되는 일반적인 쿼리를 모듈화 시켜 필요할 때만 호출 • MySQL 운영에 편리 단점 •유지 보수 복잡성 증가 - 애플리케이션의 설치나 배포가 더 복잡해짐 (각 기능을 담당하는 프로그램 코드가 자바와 MySQL 스토어드 프로그램으로 분산되어 관리하기 때문에) 형식 DELIMITER $$ -- 세미콜론을 사용하지만 종료가 아니라 끝나는 다시 나오기 전까지 실행 .. 2022. 9. 23.
[SQL] Union Union 여러 개의 쿼리의 합집합으로 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법이다. → Join은 가로로 확장되며 합쳐지지만 Union은 세로로 확장되며 합쳐진다. 규칙 • 각 SELECT의 컬럼의 수가 같아야 한다. • 컬럼명이 같아야 한다. ( 같지 않을 경우 alias를 사용하여 같게 만듦) • 컬럼별 데이터타입이 같아야 한다. ( 반환 가능한 형태 ) • 하나의 ORDER BY만 사용한다. • SELECT문들의 순서는 상관없다. 1. UNION 여러 개의 쿼리의 중복 값을 제거한 결과이다. SELECT m.m_id AS memberId FROM tb_member AS m UNION SELECT g.g_seller_id AS memberId FROM tb_goods AS g .. 2022. 9. 22.
[SQL] Sub Query Sub Query SQL문 내에서 하위에 존재하는 쿼리 ( SQL문 안에 SQL ) 예시 SELECT * FROM tb_goods AS g WHERE g.g_price > ( SELECT AVG(subgs.g_price) FROM tb_goods AS subgs ); 1. 스칼라 서브쿼리 (Scalar Sub Query) • SELECT문에 있는 서브쿼리( 1행만 반환) 예시 SELECT *, ( SELECT AVG(subg.g_price) FROM tb_goods AS subg ) AS avg_price FROM tb_goods AS g; 2. 인라인 뷰 (Inline view) • FROM 절에 있는 서브쿼리 예시 SELECT * FROM tb_goods AS g JOIN ( SELECT AVG(su.. 2022. 9. 22.