프리랜서 웹디자이너 웹퍼블리셔RELATION

RELATION 로고

PHP 웹프로그래밍

[MYSQL PHP 함수] SQL/Mysql 서브쿼리

2016.03.23
북마크 작성자 정보
서브쿼리(Subquery)
서브쿼리란 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말하다. 서브쿼리는 메인쿼리가 서브쿼리를 포함하는 종속적인 관계이다.

ex)SELECT *
FROM `$db_table_a`
WHERE board_no
IN (

SELECT no
FROM '$db_table_b'
WHERE no =49
);

LIMIT 0 , 30



조인(Join)은 조인에 참여하는 모든 데이블이 대등한 관계에 있기 때문에 참여하는 모든 테이블의 칼럼을 어느 위체에서라도 자유롭게 사용할 수 있다. 그러나 서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있지만, 메인쿼리는 서브쿼리의 칼럼을 사용 할 수 없다.

조인은 집함간의 곱의 관계이다. 따라서 1:1 관계 테이블이 조인하면 1(=1*1) 레벨의 지밥니 생성되고, 1:M 관계가 조인하면 M(=1*M) 레벨의 집합이 된다.
그리고 M:N 관계의 테이블이 조인하면 MN 레벨의 집합니 된다.
그러나 , 서브쿼리는 서브쿼리와의 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성된다.

조인퀴리아 서브퀴리 방식을 상황에 맞게 사용하는 것이 중요하다.

서브퀴리를 사용할때 주의할 점
1. 서브 퀴리는 괄호로 감사서 사용한다.
2. 서브 쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용가능
3. 서브퀴리에서는 ORDER BY를 사용하지 못한다


서브쿼리 사용이 가능한 곳
- SELECT
- FROM
- WHERE
- HAVING
- ORDER BY
- INSERT문의 VALUES
- UPDATE문의 ㄴㄸㅆ

이 포스트 공유하기

전체목록