在 mysql 中获得联系数据的方法有:inner join:把两个表关联,仅回到另外在2个表中的行。exists 子查看:检查是否存有达到特殊条件的行。intersect 运算符:显式测算两个表的联系。
怎样在 MySQL 中获得联系数据联系计算
联系计算用以获得同时出现在2个表中的一组行。针对表 A 和 B,它们联系表示为 A ∩ B,其中包括同时出现在 A 和 B中所有行。
MySQL 中获得联系数据的办法
在 MySQL 中,可以用以下措施获得联系数据:
1. 应用INNERJOIN
INNERJOIN句子用于将两个表相互连接,并仅回到发生在两个表中的行。词法如下:
SELECTcolumn_list
FROMtable1
INNERJOINtable2
ONtable1.column_name=table2.column_name;
2. 应用 EXISTS 子查询
EXISTS子查询用以检查是否存有达到特殊条件的行。词法如下:
SELECTcolumn_list
FROMtable1
WHERE EXISTS (
SELECT1
FROMtable2
WHEREtable1.column_name=table2.column_name
);
3. 应用 INTERSECT 运算符
INTERSECT运算符用以显式测算两个表的联系。词法如下:
SELECTcolumn_list
FROMtable1
INTERSECT
SELECTcolumn_list
FROMtable2;
实例
假定我们有两个表:
customers 表:包括客户资料,包含 customer_id 和 customer_name。 orders 表:包括订单详情,包含 order_id 和 customer_id。要获得与两个表里都有些客户相对应订单,我们可以使用下列查看:
SELECT
FROMcustomers
INNERJOINorders
ONcustomers.customer_id=orders.customer_id;
或是,我们可以使用下列 EXISTS 子查询:
SELECT
FROMcustomers
WHERE EXISTS (
SELECT1
FROMorders
WHEREcustomers.customer_id=orders.customer_id
);
或是,我们可以使用 INTERSECT 运算符:
SELECT
FROMcustomers
INTERSECT
SELECT
FROMorders;
全部三种方法会产生同样的结论:具备同时出现在 customers 和 orders 表中的 customer_id 的行结合。
以上就是mysql联系数据怎样获得的详细内容,大量请关注其他类似文章!