千家信息网

MYSQL数据库--连接查询

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,连接查询连接是把不同表的记录连到一起的最普遍的方法。一种错误的观念认为由于MySQL的简单性和源代码开放性,使它不擅长连接。这种观念是错误的。MySQL从一开始就能够很好地支持连接,现在还以支持标准的
千家信息网最后更新 2024年11月22日MYSQL数据库--连接查询

连接查询

连接是把不同表的记录连到一起的最普遍的方法。一种错误的观念认为由于MySQL的简单性和源代码开放性,使它不擅长连接。这种观念是错误的。MySQL从一开始就能够很好地支持连接,现在还以支持标准的SQL2连接语句而自夸,这种连接语句可以以多种高级方法来组合表记录。

内连接查询

内连接是最普遍的连接类型,而且是最匀称的,因为它们要求构成连接的每一部分的每个表的匹配,不匹配的行将被排除。

例子:

SELECT * FROM user_fuelcard WHERE user_id = (SELECT row_id
FROM md_user WHERE phone = '13782843517')

查询结果:

外连接查询

与内连接不同,外连接是指使用OUTER JOIN关键字将两个表连接起来。外连接生成的结果集不仅包含符合连接条件的行数据,而且还包括左表(左外连接时的表)、右表(右外连接时的表)或两边连接表(全外连接时的表)中所有的数据行。

例子:

SELECT phone 电话号码, ua.balance 账户余额 FROM md_user mu
JOIN user_account ua ON ua.user_id = mu.row_id WHERE mu.row_id IN (
SELECT user_id FROM user_account WHERE ua.balance >= 100 );

查询结果:

复合条件连接查询

在连接查询时,也可以增加其他的限制条件。通过多个条件的复合查询,可以使查询结果更加准确。

例子:

SELECT * FROM user_account ua, md_user mu
WHERE ua.user_id = mu.row_id AND ua.balance >= 1000000;

查询结果:

0