CROSS JOIN된 테이블에는 각 레코드가 NAME, RULE의 짝을 이루고 있습니다.
저는 이걸 각 NAME에 짝을 이루고 있는 RULE을 적용시키는 것으로 이해를 했는데, 해설지에선 A.NAME LIKE S%를 CROSS JOIN 된 테이블 전체에 적용해서 NAME이 Smith고 RULE이 %t%인 레코드도 조건에 부합한다는 식으로 설명을 했더라구요.
어떤식으로 CROSS JOIN 된 테이블에 RULE을 적용시키는 건지 궁금합니다
안녕하세요 길벗수험서 운영팀입니다.
CROSS JOIN은 조인하는 두 테이 블에 있는 튜플들의 순서쌍을 결과로 반환하는데
결과로 반환되는 테이블의 행의 수는 두 테이블 의 행 수를 곱한 것과 같습니다
A, B 두 테이블을 CROSS JOIN으로 묶으면 아래 그림처럼 결과값이 나타납니다
WHERE A.NAME LIKE B.RULE 조건문을 보면
RULE 필드에는 ‘S%’와 ‘%t%’ 이렇게 저장이 되어있는데
문자 패턴인 ‘%’ 기호가 포함되어 있습니다
RULE에 저장된 값과 LIKE 연산자와 결합하면
A.NAME LIKE S% A.NAME LIKE %T% 이렇게 표현됩니다
조건에 만족하는 데이터를 보면 아래처럼 빨간색으로 표시한 데이터들 입니다
행복한 하루되세요 :)
-
관리자2025-03-13 10:23:47
안녕하세요 길벗수험서 운영팀입니다.
CROSS JOIN은 조인하는 두 테이 블에 있는 튜플들의 순서쌍을 결과로 반환하는데
결과로 반환되는 테이블의 행의 수는 두 테이블 의 행 수를 곱한 것과 같습니다
A, B 두 테이블을 CROSS JOIN으로 묶으면 아래 그림처럼 결과값이 나타납니다
WHERE A.NAME LIKE B.RULE 조건문을 보면
RULE 필드에는 ‘S%’와 ‘%t%’ 이렇게 저장이 되어있는데
문자 패턴인 ‘%’ 기호가 포함되어 있습니다
RULE에 저장된 값과 LIKE 연산자와 결합하면
A.NAME LIKE S% A.NAME LIKE %T% 이렇게 표현됩니다
조건에 만족하는 데이터를 보면 아래처럼 빨간색으로 표시한 데이터들 입니다
행복한 하루되세요 :)