Joins은 각 테이블이 서로 공유 관계에있는 경우에 사용됩니다. 예를 들어, 사용자는 프로필과 게시 된 문서 목록을 가질 수 있습니다. 그러면 각 테이블이 결과의 추가 열로 출력됩니다.
SELECT * FROM tbl1
JOIN tbl2 ON tbl1.id=tbl2.id
JOIN tbl3 ON tbl1.id=tbl3.id
WHERE tbl1.name LIKE '$Sea'
당신이 결과에 추가 행이 다음은 union를 사용할 수있는 각 테이블을 추가하려면
. 이 작업을 수행하려면 모든 테이블에서 결과를 동일하게 구조화해야합니다. 이러한 이유로 테이블의 구조가 매우 유사 할 때 노동 조합이 가장 잘 작동합니다. 노동 조합은 두 세트에서 중복 된 항목을 제거합니다. 두 세트가 구별되어 있거나 중복을 신경 쓰지 않는다면,
union all
이 더 나은 결과를 보일 것입니다. 특히 결과 세트가 커질수록 더욱 좋습니다.
SELECT * FROM tbl1 WHERE tbl1.name LIKE '$Sea'
UNION SELECT * FROM tbl2 WHERE tbl2.name LIKE '$Sea'
UNION SELECT * FROM tbl3 WHERE tbl3.name LIKE '$Sea'
UPDATE : 다른 언급이 또한, 당신은 더 이상 사용되지 사용하는 MySQL의 기능을합니다.
<?php
/* Connect to an ODBC database using PDO (which is more secure than the
older mysql libraries because it supports query parameters). */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$conn = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
// Query example
$sql = 'SELECT * FROM table_name';
foreach($conn->query($sql) as $row) {
echo $row['id'].', '.$row['anotherfield'].'<br>';
}
테이블간에 관계가 있습니까? –
조인을 사용하고 모든 테이블에서 필요한 텍스트를 검색하십시오. – PravinS
이것이 필요한가요? http://stackoverflow.com/questions/4619090/append-results-from-two-queries-and-output-as-a-single-table – krowe