我对SQL非常陌生,在从表中进行选择时,我找不到描述*和NULL之间区别的资源。
例如:
SELECT null, null, *, null FROM items
这有什么不同于:
SELECT null, null, null, null FROM items
这有什么不同于:
SELECT * FROM items
如果一开始只有四列呢?
发布于 2013-04-07 06:47:47
当然有。
第一个:
SELECT null, null, null, null FROM items
我将选择四列,每列中都有NULL
值,无论这个表中的值和列是什么,都会选择但是返回的行数将等于items
表中的行数,如果items
表中有n行,它将返回n行,其中所有列都具有NULL
值。
然而,:
SELECT * FROM items
将选择具有此表items
中的所有值的所有列。
因此它们是完全不同的。
在您的示例中,因为只有四列,所以第一个列将始终选择四个列,其中第二个列将使用包含的值选择它们。
发布于 2013-04-07 07:03:50
是的,每一个都是不同的。当您从表中选择所提供的查询时,表中的列数并不重要。自己看看每个查询的区别。
发布于 2013-04-07 07:11:11
第一个查询将显示与表中相同数量的记录。但是在select查询中,这些值将被替换为空值。
SELECT null, null, null, null FROM items
这类似于
SELECT 5, 5, 5, 5 FROM items
第二个查询,
SELECT * FROM items
显示带有值的行。
https://stackoverflow.com/questions/15859700
复制