有的时候我们需要组合两个完全不同的查询结果集,而这两个查询结果之间没有必然的联系,只是我们需要将它们显示在一个结果集中而已。在SQL可以使用UNION运算符将两个或者多个查询结果集联合为一个结果集中。
为了更好地讲解本届的内容,需要首先创建一张用来存储临时工的信息的新表。数据库系统下执行下面的SQL语句。
MySQL:
CREATE TABLE T_TempEmployee(
FidCardNumber VARCHAR(20) NOT NULL,
Fname VARCHAR(20),
Fage INT,
PRIMARY KEY(FidCardNumber)
)
Oracle:
CREATE TABLE T_TempEmployee(
FidCardNumber VARCHAR2(20),
Fname VARCHAR2(20),
Fage NUMBER(10),
PRIMARY KEY(FidCardNumber)
)
由于临时工没有分配工号,所以使用身份证号码FidCardNumber来标识一个临时工,同时临时工不是实行月薪制,所以这里也没有记录月薪信息。我们还需要一些初始数据,执行下面的SQL语句以插入初始数据:
INSERT INTO T_TempEmployee(FidCardNumber, Fname, Fage) VALUES('1234567890121', 'Sarani', 33)
INSERT INTO T_TempEmployee(FidCardNumber, Fname, Fage) VALUES('1234567890122', 'Tom', 26)
INSERT INTO T_TempEmployee(FidCardNumber, Fname, Fage) VALUES('1234567890123', 'Yalaha', 38)
INSERT INTO T_TempEmployee(FidCardNumber, Fname, Fage) VALUES('1234567890124', 'Tina', 26)
INSERT INTO T_TempEmployee(FidCardNumber, Fname, Fage) VALUES('1234567890125', 'Konkaya', 29)
INSERT INTO T_TempEmployee(FidCardNumber, Fname, Fage) VALUES('1234567890126', 'Fotifa', 46)
INSERT INTO T_TempEmployee(FidCardNumber, Fname, Fage) VALUES('1234567890127', 'James', 24)