当SELECT语句中的列顺序和名称必须相同时,为什么要在SQL中使用UNION呢?难道我们不能只更新或更改表以添加更多行吗?
plicqrtu1#
您不会一直向单个表添加行的原因是它们不属于该表。
出于同样的原因,如果您在两个整数变量(如x + y)之间进行算术运算,则不会将y的值永久地添加到x。您希望将x的值保留为它自己的东西,即使有时您也需要求和。
x + y
y
x
像SQL and Relational Theory: How to Write Accurate SQL Code这样的一本书清楚地表明了关系和亲戚之间的区别。Relvar就像一张table。它是一组特定行的持久存储。
关系是像SELECT或VALUES这样的SQL表达式的结果。这种关系可能不会存储在任何Relvar中;它是短暂的。它可能是使用表达式、联接等的更复杂查询的结果。
以此类推,像42这样的a数字是一个整数值。但是存储整数值42的int x是整型变量。它们都可以用作+的操作数,但它们不是一种东西。
int x
+
如果两个关系的列在编号和数据类型上兼容,则可以联合这两个关系。这些关系不一定只是关系变量,它们可能是其他子查询的结果。
就像在算术中一样,您可以添加x和整个其他整数表达式。
1条答案
按热度按时间plicqrtu1#
您不会一直向单个表添加行的原因是它们不属于该表。
出于同样的原因,如果您在两个整数变量(如
x + y
)之间进行算术运算,则不会将y
的值永久地添加到x
。您希望将x
的值保留为它自己的东西,即使有时您也需要求和。像SQL and Relational Theory: How to Write Accurate SQL Code这样的一本书清楚地表明了关系和亲戚之间的区别。Relvar就像一张table。它是一组特定行的持久存储。
关系是像SELECT或VALUES这样的SQL表达式的结果。这种关系可能不会存储在任何Relvar中;它是短暂的。它可能是使用表达式、联接等的更复杂查询的结果。
以此类推,像42这样的a数字是一个整数值。但是存储整数值42的
int x
是整型变量。它们都可以用作+
的操作数,但它们不是一种东西。如果两个关系的列在编号和数据类型上兼容,则可以联合这两个关系。这些关系不一定只是关系变量,它们可能是其他子查询的结果。
就像在算术中一样,您可以添加
x
和整个其他整数表达式。