首页 >

mysql查询两个表比对 |mysql 存储过程 给变量赋值

mysql 除法 函数,mysql innodb排他锁,mysql增量备份及恢复,mysql按天创建表,mysql循环连接查询,mysql 存储过程 给变量赋值mysql查询两个表比对 |mysql 存储过程 给变量赋值

首先,大家需要创建两个表,假设一个表名为table1,另一个表名为table2。

CREATE TABLE table1 (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
gender VARCHAR(4) NOT NULL
);
CREATE TABLE table2 (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
gender VARCHAR(4) NOT NULL
);

然后大家插入一些数据:

INSERT INTO table1 (id, name, age, gender)
VALUES (1, 'Tom', 20, 'male'),
(2, 'Jerry', 22, 'female'),
(3, 'John', 25, 'male');
INSERT INTO table2 (id, name, age, gender)
VALUES (1, 'Tom', 20, 'male'),
(2, 'Jerry', 23, 'female'),
(4, 'Mary', 24, 'female');

接下来,大家就可以使用MySQL查询语句,比对这两个表的数据了。下面是一个例子:

SELECT table1.name, table1.age, table1.gender, table2.age
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
WHERE table1.agetable2.age

上面的查询语句使用了LEFT JOIN关键字将两个表连接在一起,并指定了连接条件为id相等。然后使用WHERE子句筛选出不同的年龄记录。最后大家可以得到如下结果:

+-------+-----+--------+-----+
| name  | age | gender | age |
+-------+-----+--------+-----+
| Jerry | 22  | female | 23  |
| John  | 25  | male   | NULL|
| Mary  | NULL| female | 24  |
+-------+-----+--------+-----+

从查询结果中大家可以看到,Jerry的年龄在两个表中不一致,John只在table1表中出现,Mary只在table2表中出现。

以上就是使用MySQL查询两个表进行比对的基本操作。在实际应用中,大家可以根据具体需要进行更加复杂的数据比对和筛选。