DBMS/MySQL

·DBMS/MySQL
1. IN서브쿼리의 결과를 모두 가져온 후, 메인 쿼리의 WHERE 절에서 결과 집합과 비교하는 방식이다.서브쿼리의 결과에 NULL 이 포함되는 경우에는 결과가 의도와 다르게 동작할 수 있으므로 주의해야 한다. 아래는 IN 을 사용하여 작성한 쿼리의 예시이다.SELECT *FROM aWHERE a.key IN ( SELECT b.key FROM b);b 테이블에 먼저 접근한다.b.key 를 IN 리스트에 나열한 후 a.key 에 공급한다.즉, 이 쿼리에서 b 테이블은 공급자 역할을 수행한다. 2. EXISTS서브쿼리에서 조건을 만족하는 행이 존재하는지 여부를 확인하는 방식이다.즉, 서브쿼리에서 결과 집합을 반환하는 것이 아니라, 서브쿼리에서 조건을 만족하는 행을 찾는 즉시 반환하는 것이다. 따..
·DBMS/MySQL
1. WITH 절과 공통 테이블 표현식 (CTE, Common Table Expression)WITH 절은 MySQL에서 공통 테이블 표현식(CTE)을 정의하기 위해 사용하는 구문이다.공통 테이블 표현식(CTE)은 단일 SQL 문 내에서 임시 이름이 붙은 임시 결과 집합으로, 해당 SQL 문 내에서 여러 번 참조하여 사용할 수 있다. 2. WITH 절과 공통 테이블 표현식(CTE)의 특징WITH 절과 공통 테이블 표현식은 성능 최적화 관점에서 반복된 서브쿼리를 줄이고 가독성과 유지보수성을 높이는 데 도움을 준다.중첩된 서브쿼리를 사용하지 않고도 논리적으로 쿼리를 나눌 수 있다.공통 테이블 표현식은 같은 statement 내에서 여러 번 참조될 수 있으며, 여러 번 참조되더라도 한 번만 실행되어 그 결과가..
인피케이
'DBMS/MySQL' 카테고리의 글 목록