가입 INNER 당신을이 시도 조인해라.
두 테이블 이름 (products 및 products_description) 사이의 쉼표는 조인 연산자입니다.
이것은 다시 쓸 수 있으며 쉼표 결합 연산자를 JOIN
키워드로 바꾸고 join 술어를 ON 절로 재배치합니다. 이 (적어도 하나)의 행가 일치 products
테이블에 존재 한정해 p.manufacturers_id = 1
의 행이 반환 될 것을 조인 "내부"인
SELECT p.products_id
, pd.products_description
FROM products p
JOIN products_description pd
ON pd.products_id=p.products_id
AND p.manufacturers_id = 1
적어도 하나의 행을 또한인지 products 테이블에서 리턴 된 행 (들)과 일치하는 값이 products_id
인 products_description 테이블.
JOIN
키워드 앞에 키워드 INNER
을 추가해도 내용이 변경되지는 않습니다.
을 감안할 때 이러한 테이블 내용 :
TABLE: products
manufacturers_id products_id
1 222
1 333
1 444
TABLE: products_description
products_id products_description
222 foo
444 fee
444 fi
444 fo
444 fum
는 그 쿼리가 반환 : 당신이 JOIN
키워드 앞에 LEFT
키워드를 추가하는 경우
p.products_id pd.products_description
222 foo
444 fee
444 fi
444 fo
444 fum
은, 다음 쿼리는 OUTER
것 가입하고, 검색어는 다음과 같은 행을 반환합니다.
p.products_id pd.products_description
333 (NULL)
여기서 JOIN의 왼쪽 테이블의 행에는 오른쪽 테이블에서 일치하는 행이 없습니다. 특정 순서로 반환 된 행을 원하는 경우
은, 다음 쿼리의 끝에서 ORDER BY 절, 예를 들어이 포함
ORDER BY p.products_id, pd.product_description
MySQL은 임의의 행을 반환 자유롭게 결석 한 것을 주문.
키워드 INNER
및 OUTER
완전히 선택 사항입니다. 명령문 처리 방법에는 아무런 영향을주지 않으므로 대부분의 SQL 개발자가 이러한 키워드를 생략합니다.
LEFT JOIN
은 OUTER
입니다. 오른쪽 테이블에 일치하는 행이없는 경우에도 왼쪽의 테이블에서 행이 반환됩니다.
은 (크로스 조인을 위해, 우리는 일반적으로 그것이 온 조항의 누락이 의도적 문서의 역할을해서, 아무런 효과가 없습니다에도
CROSS
키워드를 포함 않습니다.)
루프이어야는 mysql_fetch_array 호출
$products = mysql_query($products_query);
$c = 0;
while ($prod = mysql_fetch_array($products)) {
$c++;
echo $c . ' - ' . $prod['products_id'] . ' - '.$prod['products_description'].' - ' . $mresult['manufacturers_id'] . '<br>';
}
mysql_로 인터페이스가 지원되지 않습니다. 새로운 개발은 mysqli_ 또는 PDO 인터페이스를 사용해야한다.
[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오 (http://bit.ly/phpmsql). 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https://wiki.php.net/rfc/mysql_deprecation). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). – Neal
http://www.sitepoint.com/understanding-sql-joins-mysql-database/ – DWright
에서 테이블 구조를 설명하고 찾고있는 쿼리 결과가 무엇인지 크게 설명하면 도움이 될 것입니다. –