1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql两表联查详解(从入门到精通) mysql 查看更改记录

mysql两表联查详解(从入门到精通) mysql 查看更改记录

时间:2019-10-13 07:13:04

相关推荐

mysql两表联查详解(从入门到精通) mysql 查看更改记录

在MySQL中,联合查询是通过使用JOIN关键字来实现的。JOIN关键字将两个或多个表连接在一起,以便可以将它们的数据一起使用。JOIN关键字有多种类型,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。

INNER JOIN

INNER JOIN是最常用的JOIN类型。它仅返回两个表中共有的行。例如,如果您有一个包含客户信息的表和一个包含订单信息的表,您可以使用INNER JOIN来获取每个客户的订单信息。

name(s)

FROM table1

INNER JOIN table2namename;

LEFT JOIN和RIGHT JOIN

LEFT JOIN和RIGHT JOIN返回两个表中的所有行,并且在其中一个表中没有匹配的行将返回NULL值。LEFT JOIN将返回左表中的所有行,而RIGHT JOIN将返回右表中的所有行。

name(s)

FROM table1

LEFT JOIN table2namename;

name(s)

FROM table1

RIGHT JOIN table2namename;

FULL OUTER JOIN

FULL OUTER JOIN返回两个表中的所有行,并且在其中一个表中没有匹配的行将返回NULL值。它将返回左表和右表中的所有行。

name(s)

FROM table1

FULL OUTER JOIN table2namename;

现在,让大家通过一个简单的实例来演示如何在MySQL中进行两表联查。

erer表包含客户的基本信息,如姓名和地址。Order表包含订单信息,如订单号、日期和金额。大家想要在这两个表中联合查询以获取每个客户的订单信息。

首先,大家将创建这两个表并向它们添加数据:

er (erID INT PRIMARY KEY,erName VARCHAR(255),

Address VARCHAR(255)

ererIDerName, Address) VALUESith St.’),e Doe’, ‘456 Park Ave.’),son St.’);

CREATE TABLE Order (

OrderID INT PRIMARY KEY,erID INT,

OrderDate DATE,ount DECIMAL(10,2)

erIDount) VALUES

(1, 1, ‘-01-01’, 100.00),

(2, 1, ‘-02-01’, 200.00),

(3, 2, ‘-03-01’, 150.00),

(4, 3, ‘-04-01’, 75.00);

现在,大家可以使用INNER JOIN来获取每个客户的订单信息:

ererNameounter

INNER JOIN OrderererIDerID;

这将返回以下结果:

+————-+————+——–+erNameount

+————-+————+——–+ith | -01-01 | 100.00 |ith | -02-01 | 200.00 |e Doe| -03-01 | 150.00 |son | -04-01 | 75.00

+————-+————+——–+

大家还可以使用LEFT JOIN来获取每个客户的订单信息,即使他们没有下过订单:

ererNameounter

LEFT JOIN OrderererIDerID;

这将返回以下结果:

+————-+————+——–+erNameount

+————-+————+——–+ith | -01-01 | 100.00 |ith | -02-01 | 200.00 |e Doe| -03-01 | 150.00 |son | -04-01 | 75.00

+————-+————+——–+

NULL | NULL | NULL

+————-+————+——–+

最后,大家可以使用FULL OUTER JOIN来获取所有客户的订单信息,即使他们没有下过订单:

ererNameounter

FULL OUTER JOIN OrderererIDerID;

这将返回以下结果:

+————-+————+——–+erNameount

+————-+————+——–+ith | -01-01 | 100.00 |ith | -02-01 | 200.00 |e Doe| -03-01 | 150.00 |son | -04-01 | 75.00

+————-+————+——–+

NULL | NULL | NULL

+————-+————+——–+

MySQL两表联查是一个非常有用的工具,可以帮助您在多个表中组合数据以获取更多的信息。在MySQL中,JOIN关键字提供了多种联合查询类型,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。使用这些关键字,您可以轻松地连接多个表并获取所需的数据。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。