2013-10-12 2 views
0

저는 SQL이 좋지 않습니다. 아래 SQL 쿼리를 얻었을 때 ab에 대해 매우 혼란스러워했습니다. 쿼리에서의 역할과 그 기능 또는 결과는 무엇입니까?복잡한 SQL 쿼리 이해

SELECT *,(SELECT COUNT(id) FROM abc_menu b WHERE b.parentId=a.id) FROM abc_menu a ORDER BY ordering ASC 
+2

별칭입니다. 아마도 기본 자습서를 읽으십시오 ... –

+4

복잡한 SQL 문장을 보지 못했습니다 –

+2

복잡한 SQL 쿼리는 어디에 있습니까? –

답변

1

ab는 앨리어스 (alias) - SQL에서,이 테이블 이름 직후 선언 (FROM 절 또는 가입) 또는 열 후/또는 선택 표현.

SELECT *, (
    SELECT COUNT(id) FROM abc_menu b WHERE b.parentId=a.id) 
FROM abc_menu a 
ORDER BY ordering ASC 

은 여기 a로 (이 문 내 이름)의 별칭 테이블에 "바깥 쪽"액세스를 볼 수 있습니다.

보조 쿼리와 구분하여 자식을 계산합니다.이 테이블은 b이라는 별칭을 가진 동일한 테이블을 참조합니다.

b이 나타내는 행은 논리적으로는 a이 참조하는 행과는 독립적이며 논리적으로 지정된 경우에만 여기에 하위 쿼리 WHERE 절인 b.parentId=a.id으로 연결됩니다.