sql 将两个不同列的表查询结果合并
时间: 2023-05-30 10:06:36 浏览: 1591
SQL实现两张无关联表的数据列合并在一张结果集中
4星 · 用户满意度95%
有两种方法可以将两个不同列的表查询结果合并,一种是使用 UNION 操作符,另一种是使用 JOIN 操作符。
1. UNION 操作符:
UNION 操作符可以将两个 SELECT 语句的结果集合并成一个结果集,两个 SELECT 语句的列数和列名必须相同,列的数据类型也必须兼容。
例如,假设有两个表,一个是学生表,包含学生的姓名和年龄信息,另一个是教师表,包含教师的姓名和职称信息,现在需要将两个表的查询结果合并为一个结果集,可以使用以下 SQL 语句:
SELECT name, age, NULL AS title FROM students
UNION
SELECT name, NULL AS age, title FROM teachers;
其中,第一个 SELECT 语句查询出学生的姓名和年龄信息,并将 title 列的值设置为 NULL,第二个 SELECT 语句查询出教师的姓名和职称信息,并将 age 列的值设置为 NULL,然后使用 UNION 操作符将两个结果集合并为一个结果集,NULL 表示该列在该 SELECT 语句中不需要查询。
2. JOIN 操作符:
JOIN 操作符可以将两个表的数据按照某个条件进行匹配,并将匹配的结果合并为一个结果集,匹配条件可以是两个表的某个列相等。
例如,假设有两个表,一个是学生表,包含学生的学号和姓名信息,另一个是成绩表,包含学生的学号和成绩信息,现在需要查询每个学生的姓名和成绩信息,可以使用以下 SQL 语句:
SELECT students.name, scores.score FROM students
JOIN scores ON students.id = scores.id;
其中,使用 JOIN 操作符将学生表和成绩表按照学号列进行匹配,并将匹配的结果合并为一个结果集,然后查询出每个学生的姓名和成绩信息。
阅读全文