如何比较 SQL 中的两个查询
SQL 中的查询:
查询要么是对来自您的信息的数据结果的邀请,要么是对信息采取行动的邀请,或两者皆有。一个问题将为您提供一个简单问题的解决方案,执行计算,混合来自完全不同表的数据,添加、更改或删除信息中的数据。
创建数据库:
我们使用CREATE DATABASE命令来创建一个新的 SQL 数据库。
句法 -
CREATE DATABASE db_name;
在创建的数据库中创建表:
我们使用CREATE TABLE命令来创建一个新的 SQL 数据库。
句法 -
CREATE TABLE table_name (
col1 datatype,
col2 datatype,
col3 datatype,
);
将值插入到创建的 Table 中:
我们使用INSERT INTO命令来创建一个新的 SQL 数据库。
句法 -
INSERT INTO table_name
VALUES (value1, value2, value3);
创建数据库和表的示例代码 -
PHP
CREATE DATABASE myDatabase;
CREATE TABLE myTable
(
Pid int,
FName varchar(255),
LName varchar(255),
Adrs varchar(255),
District varchar(255)
);
INSERT INTO myTable (Pid, FName, LName, Adrs, District)
VALUES ('1','Krishna','Kripa','Jansa','Varanasi');
PHP
CREATE DATABASE myDatabase1;
GO
USE myDatabase1;
GO
CREATE TABLE myTable
(
Aid int,
Atype varchar(10),
Acost varchar(10)
);
GO
INSERT INTO myTable (Aid, Atype, Acost)
VALUES ('001', '1', '40'),
('002', '2', '80'),
('003', '3', '120')
GO
CREATE DATABASE myDatabase2;
GO
USE myDatabase2;
GO
CREATE TABLE myTable
(
Aid int,
Atype varchar(10),
Acost varchar(10)
);
GO
INSERT INTO myTable (Aid, Atype, Acost)
VALUES ('001', '1', '40'),
('002', '2', '80'),
('003', '3', '120'),
('004', '4', '160')
GO
PHP
SELECT * FROM myDatabase2.myTable
EXCEPT
SELECT * FROM myDatabase1.myTable
输出 -
myDatabase: myTable | ||||
Pid | FName | LName | Adrs | District |
1 | Krishna | Kripa | Jansa | Varanasi |
查询比较:
例如,我们在完全不同的数据库中有 2 个相似的表,我们希望了解有什么不同。以下是制作示例数据库、表格和信息的脚本。
PHP
CREATE DATABASE myDatabase1;
GO
USE myDatabase1;
GO
CREATE TABLE myTable
(
Aid int,
Atype varchar(10),
Acost varchar(10)
);
GO
INSERT INTO myTable (Aid, Atype, Acost)
VALUES ('001', '1', '40'),
('002', '2', '80'),
('003', '3', '120')
GO
CREATE DATABASE myDatabase2;
GO
USE myDatabase2;
GO
CREATE TABLE myTable
(
Aid int,
Atype varchar(10),
Acost varchar(10)
);
GO
INSERT INTO myTable (Aid, Atype, Acost)
VALUES ('001', '1', '40'),
('002', '2', '80'),
('003', '3', '120'),
('004', '4', '160')
GO
输出 - Aid Atype Acost 001 1 40 002 2 80 003 3 120
对于 myDatabse1 –
对于 myDatabase2 – Aid Atype Acost 001 1 40 002 2 80 003 3 120 004 4 160
使用 EXCEPT 关键字比较表中的 SQL 查询:
EXCEPT显示了 2 个表之间的区别。比较两个表之间的变化是不会的。
现在在我们使用 EXCEPT 的地方运行这个查询 来自 DB1 的 DB2 上的关键字 –
PHP
SELECT * FROM myDatabase2.myTable
EXCEPT
SELECT * FROM myDatabase1.myTable
输出 -
Aid | Atype | Acost |
004 | 4 | 160 |