课程表

MariaDB课程

工具箱
速查手册

MariaDB Join语句

当前位置:免费教程 » 数据库/运维 » MariaDB

在之前的讨论和示例中,我们检查了从单个表中检索,或从多个来源检索多个值。 大多数现实世界的数据操作要复杂得多,需要从多个表进行聚合,比较和检索。

JOIN允许将两个或多个表合并到单个对象中。 它们通过SELECT,UPDATE和DELETE语句使用。

使用JOIN查看语句的一般语法如下所示 -

  1. SELECT column
  2. FROM table_name1
  3. INNER JOIN table_name2
  4. ON table_name1.column = table_name2.column;

注意JOINS的旧语法使用隐式连接和没有关键字。 可以使用WHERE子句来实现联接,但关键字最适合可读性,维护和最佳实践。

JOIN有许多形式,如左连接,右连接或内连接。 各种连接类型基于共享值或特性提供不同类型的聚合。

在命令提示符或PHP脚本中使用JOIN。

命令提示符

在命令提示符下,只需使用标准语句 -

  1. root@host# mysql -u root -p password;
  2. Enter password:*******
  3. mysql> use PRODUCTS;
  4. Database changed
  5.  
  6. mysql> SELECT products.ID_number, products.Nomenclature, inventory.inventory_ct
  7. FROM products
  8. INNER JOIN inventory
  9. ON products.ID_numbeer = inventory.ID_number;
  10. +-------------+----------------+-----------------+
  11. | ID_number | Nomenclature | Inventory Count |
  12. +-------------+----------------+-----------------+
  13. | 12345 | Orbitron 4000 | 150 |
  14. +-------------+----------------+-----------------+
  15. | 12346 | Orbitron 3000 | 200 |
  16. +-------------+----------------+-----------------+
  17. | 12347 | Orbitron 1000 | 0 |
  18. +-------------+----------------+-----------------+

PHP脚本使用JOIN

使用mysql_query()函数执行连接操作 -

  1. <?php
  2. $dbhost = 'localhost:3036';
  3. $dbuser = 'root';
  4. $dbpass = 'rootpassword';
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  6.  
  7. if(! $conn ) {
  8. die('Could not connect: ' . mysql_error());
  9. }
  10.  
  11. $sql = 'SELECT a.product_id, a.product_manufacturer, b.product_count
  12. FROM products_tbl a, pcount_tbl b
  13. WHERE a.product_manufacturer = b.product_manufacturer';
  14.  
  15. mysql_select_db('PRODUCTS');
  16. $retval = mysql_query( $sql, $conn );
  17.  
  18. if(! $retval ) {
  19. die('Could not get data: ' . mysql_error());
  20. }
  21.  
  22. while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
  23. echo "Manufacturer:{$row['product_manufacturer']} <br> ".
  24. "Count: {$row['product_count']} <br> ".
  25. "Product ID: {$row['product_id']} <br> ".
  26. "--------------------------------<br>";
  27. }
  28.  
  29. echo "Fetched data successfully
  30. ";
  31. mysql_close($conn);
  32. ?>

成功的数据检索后,您将看到以下输出 -

  1. ID Number: 12345
  2. Nomenclature: Orbitron 4000
  3. Inventory Count: 150
  4. --------------------------------------
  5. ID Number: 12346
  6. Nomenclature: Orbitron 3000
  7. Inventory Count: 200
  8. --------------------------------------
  9. ID Number: 12347
  10. Nomenclature: Orbitron 1000
  11. Inventory Count: 0
  12. --------------------------------------
  13. mysql> Fetched data successfully
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号