- MariaDB 教程
- MariaDB - 主页
- MariaDB - 简介
- MariaDB - 安装
- MariaDB - 管理
- MariaDB - PHP 语法
- MariaDB - 连接
- MariaDB - 创建数据库
- MariaDB - 删除数据库
- MariaDB - 选择数据库
- MariaDB - 数据类型
- MariaDB - 创建表
- MariaDB - 删除表
- MariaDB - 插入查询
- MariaDB - 选择查询
- MariaDB -Where 子句
- MariaDB - 更新查询
- MariaDB - 删除查询
- MariaDB - Like 子句
- MariaDB - 按子句排序
- MariaDB - 加入
- MariaDB - 空值
- MariaDB - 正则表达式
- MariaDB - 交易
- MariaDB - 更改命令
- 索引和统计表
- MariaDB - 临时表
- MariaDB - 表克隆
- MariaDB - 序列
- MariaDB - 管理重复项
- MariaDB - SQL 注入保护
- MariaDB - 备份方法
- MariaDB - 备份加载方法
- MariaDB - 有用的功能
- MariaDB 有用资源
- MariaDB - 快速指南
- MariaDB - 有用的资源
- MariaDB - 讨论
MariaDB - 加入
在前面的讨论和示例中,我们研究了从单个表中检索或从多个源检索多个值。大多数现实世界的数据操作要复杂得多,需要从多个表中进行聚合、比较和检索。
JOIN允许将两个或多个表合并为单个对象。它们通过 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