Does this statement ON people.state_code=states.state_abbrev mean that people.state_code and states.state_abbrev are now one? 回答:否。people.state_code和states.state_v在各自的表上应该是相同的值。 让我给予一个来自https://www.mysqltutorial.org/mysql-join/的例子 假设你有下面的表格:
CREATE TABLE members (
member_id INT AUTO_INCREMENT,
members_name VARCHAR(100),
PRIMARY KEY (member_id)
);
CREATE TABLE committees (
committee_id INT AUTO_INCREMENT,
committees_name VARCHAR(100),
PRIMARY KEY (committee_id)
);
一些数据示例:
+-----------+--------+
| member_id | members_name |
+-----------+--------+
| 1 | John |
| 2 | Jane |
| 3 | Mary |
| 4 | David |
| 5 | Amelia |
+-----------+--------+
+--------------+--------+
| committee_id | committees_name |
+--------------+--------+
| 1 | John |
| 2 | Mary |
| 3 | Amelia |
| 4 | Joe |
+--------------+--------+
SELECT
m.member_id,
m.members_name AS member,
c.committee_id,
c.committees_name AS committee
FROM members m
INNER JOIN committees c ON c.name = m.name;
给出以下结果:
+-----------+--------+--------------+-----------+
| member_id | member | committee_id | committee |
+-----------+--------+--------------+-----------+
| 1 | John | 1 | John |
| 3 | Mary | 2 | Mary |
| 5 | Amelia | 3 | Amelia |
+-----------+--------+--------------+-----------+
4条答案
按热度按时间ljo96ir51#
它将从表
people
中取出列first_name
和state_code
,从表states
中取出列division
,并将它们放在一个连接表中,其中state_code
和state_abbrev
列中的条目匹配。连接表仅为响应此查询而显示而生成;不修改具有数据条目的基础表。x8diyxa72#
在这种情况下,“=”表示相等(相似值相等),并且是连接条件的一部分,select语句根据该连接条件检索数据。您正在基于条件“链接”两个表,以便可以检索相关数据…
关系数据库-表之间和数据之间存在关系。
例如:
会回来的
uemypmqf3#
Does this statement ON people.state_code=states.state_abbrev mean that people.state_code and states.state_abbrev are now one?
回答:否。people.state_code和states.state_v在各自的表上应该是相同的值。
让我给予一个来自https://www.mysqltutorial.org/mysql-join/的例子
假设你有下面的表格:
一些数据示例:
要执行
INNER JOIN
,我们可以使用members_name
和committees_name
,而不是id,因为它们是auto_increment,数据不相关。所以查询应该是:
给出以下结果:
结论:各色谱柱测定值基本一致
8yoxcaq74#
编写此查询的老派方法是:
使用WHERE子句是一种更清晰的方式来说明发生了什么。