MariaDB-가입

이전 논의 및 예제에서 단일 테이블에서 검색하거나 여러 소스에서 여러 값을 검색하는 방법을 살펴 보았습니다. 대부분의 실제 데이터 작업은 훨씬 더 복잡하여 여러 테이블에서 집계, 비교 및 ​​검색이 필요합니다.

JOINs둘 이상의 테이블을 단일 개체로 병합 할 수 있습니다. SELECT, UPDATE 및 DELETE 문을 통해 사용됩니다.

아래와 같이 JOIN을 사용하는 구문의 일반적인 구문을 검토하십시오.

SELECT column
FROM table_name1
INNER JOIN table_name2
ON table_name1.column = table_name2.column;

JOINS의 이전 구문은 암시 적 조인을 사용하고 키워드는 사용하지 않았습니다. WHERE 절을 사용하여 조인을 달성 할 수 있지만 키워드는 가독성, 유지 관리 및 모범 사례에 가장 적합합니다.

JOIN은 왼쪽 조인, 오른쪽 조인 또는 내부 조인과 같은 다양한 형태로 제공됩니다. 다양한 조인 유형은 공유 된 값 또는 특성을 기반으로 다양한 유형의 집계를 제공합니다.

명령 프롬프트 또는 PHP 스크립트에서 JOIN을 사용하십시오.

명령 프롬프트

명령 프롬프트에서 간단히 표준 명령문을 사용하십시오.

root@host# mysql -u root -p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed

mysql> SELECT products.ID_number, products.Nomenclature, inventory.inventory_ct
   FROM products
   INNER JOIN inventory
   ON products.ID_numbeer = inventory.ID_number;
+-------------+----------------+-----------------+
| ID_number   | Nomenclature   | Inventory Count |
+-------------+----------------+-----------------+
| 12345       | Orbitron 4000  | 150             |
+-------------+----------------+-----------------+
| 12346       | Orbitron 3000  | 200             |
+-------------+----------------+-----------------+
| 12347       | Orbitron 1000  | 0               |
+-------------+----------------+-----------------+

JOIN을 사용하는 PHP 스크립트

사용 mysql_query() 조인 연산을 수행하는 함수-

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'SELECT a.product_id, a.product_manufacturer, b.product_count   
      FROM products_tbl a, pcount_tbl b 
      WHERE a.product_manufacturer = b.product_manufacturer';

   mysql_select_db('PRODUCTS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Manufacturer:{$row['product_manufacturer']} <br> ".
         "Count: {$row['product_count']} <br> ".
         "Product ID: {$row['product_id']} <br> ".
         "--------------------------------<br>";
   }

   echo "Fetched data successfully\n";
   mysql_close($conn);
?>

성공적인 데이터 검색시 다음 출력이 표시됩니다.

ID Number: 12345
Nomenclature: Orbitron 4000
Inventory Count: 150
--------------------------------------
ID Number: 12346
Nomenclature: Orbitron 3000
Inventory Count: 200
--------------------------------------
ID Number: 12347
Nomenclature: Orbitron 1000
Inventory Count: 0
--------------------------------------
mysql> Fetched data successfully