mysql中from用逗号分隔两个表,是怎么取值的

mysql中from用逗号分隔两个表,是怎么取值的

mysql中from用逗号分隔两个表,是怎么取值的

在Mysql中,我们经常需要同时查询多个表的数据,这时就需要用到FROM关键字来指定要查询的表。当我们使用逗号将多个表名连在一起时,Mysql会将这些表当作一个整体来处理,即将这些表的笛卡尔积结果作为临时表,然后再根据ON条件来筛选符合条件的数据。

语法格式

下面是使用FROM关键字连接两个表的语法格式:

SELECT *
FROM table1, table2
WHERE table1.id = table2.id;
SQL

在这个示例中,我们从table1table2这两个表中查询数据,然后用WHERE关键字来指定两个表中的id字段相等的条件。

示例

假设我们有一个students表和一个scores表,分别记录了学生的信息和成绩信息,现在我们想要查询学生的姓名以及对应的成绩。我们可以使用如下SQL语句来实现:

CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

CREATE TABLE scores (
    student_id INT,
    score INT
);

INSERT INTO students VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Charlie');
INSERT INTO scores VALUES (1, 90), (2, 85), (3, 88);

SELECT students.name, scores.score
FROM students, scores
WHERE students.id = scores.student_id;
SQL

运行上述SQL语句后,我们将得到以下结果:

+--------+-------+
| name   | score |
+--------+-------+
| Alice  |  90   |
| Bob    |  85   |
| Charlie|  88   |
+--------+-------+
SQL

在这个示例中,我们通过将studentsscores两个表用逗号分隔起来,然后通过WHERE条件将这两个表连接起来,最终得到了学生的姓名和对应的成绩信息。

总结

在Mysql中,使用逗号分隔两个表时,Mysql会将这些表当作一个整体来处理,即将这些表的笛卡尔积结果作为临时表,并根据ON条件来筛选出符合条件的数据。因此,在使用这种表连接方式时,需要特别注意WHERE条件的设定,以确保查询结果的准确性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册