En discusiones y ejemplos anteriores, exploramos la recuperación de una sola tabla o la recuperación de múltiples valores de múltiples fuentes. La mayorÃa de las operaciones de datos reales son mucho más complejas y requieren agregación, comparación y recuperación de varias tablas.
UNIONES permiten unir dos o más tablas en un objeto. Se utilizan con las sentencias SELECT, UPDATE y DELETE.
Revise la sintaxis general de la declaración usando JOIN como se muestra a continuación:
SELECT column FROM table_name1 INNER JOIN table_name2 ON table_name1.column = table_name2.column;
Tenga en cuenta que la antigua sintaxis de JOINS usaba combinaciones implÃcitas, no palabras clave. Puede usar una cláusula WHERE para lograr una unión, pero las palabras clave son las mejores para la legibilidad, el mantenimiento y las mejores prácticas.
Las JUNTAS vienen en diferentes formas, como combinación izquierda, combinación derecha o combinación interna. Los diferentes tipos de unión ofrecen diferentes tipos de agregación basados ​​en valores o caracterÃsticas comunes.
Utilice JOIN en la lÃnea de comandos o con un script PHP.
En la lÃnea de comando, simplemente use el operador estándar –
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 | +-------------+----------------+-----------------+
Usar mysql_query () una función para realizar una operación de unión –
<?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 successfullyn"; mysql_close($conn); ?>
Tras la recuperación exitosa de datos, verá el siguiente resultado:
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
🚫