📅  最后修改于: 2023-12-03 15:31:09.405000             🧑  作者: Mango
HSQLDB(HyperSQL Database)是一个强大且轻量级的Java数据库管理系统。它支持标准SQL语法,并且具有ACID事务支持,可提供高性能和稳定性。该数据库系统由HSQLDB组织开发和维护,它可以嵌入到Java应用程序中或运行在客户端/服务器模式下。HSQLDB还支持插入查询。
插入查询是一种SQL查询语句,它将一个SQL查询的结果插入一个表中。这可以用于将数据从一个表插入到另一个表中,或者使用一个表中的数据插入到其他表中。
插入查询的基本语法如下:
INSERT INTO destination_table_name (column1, column2, ...)
SELECT column1, column2, ...
FROM source_table_name
WHERE condition;
其中,destination_table_name是目标表名,column1,column2等是目标表的列名,source_table_name是源表名,condition是查询条件。
考虑以下两个表:
CREATE TABLE Employee (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Age INT,
Gender VARCHAR(10),
Salary DECIMAL
);
CREATE TABLE EmployeeArchive (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Age INT,
Gender VARCHAR(10),
Salary DECIMAL,
ArchiveDate DATE
);
我们想将从Employee表计算所得的数据插入EmployeeArchive表中,以备份目的。假设我们要插入那些年龄大于40岁和性别为女性的员工数据,则插入查询语句如下:
INSERT INTO EmployeeArchive (EmployeeID, FirstName, LastName, Age, Gender, Salary, ArchiveDate)
SELECT EmployeeID, FirstName, LastName, Age, Gender, Salary, CURRENT_DATE
FROM Employee
WHERE Age > 40 AND Gender = 'Female';
此查询将选中符合条件的员工,并将其数据插入EmployeeArchive表中,同时将ArchiveDate设置为当前日期。