是否有一种简单而简单的方法来创建具有指定列但零行的结果表?在集合论中,这称为空集,但由于关系数据库使用多维集,因此该术语不完全适合.我尝试过这两个查询,但两者都只提供一行而不是零行:
> SELECT”AS ID;
> SELECT null AS ID;
但我想要的是与此查询相同的结果:
> SELECT ID FROM sometable WHERE false;
我正在寻找一种更优雅的方式,因为我不想涉及一个表,所以查询独立于任何数据库方案.通用查询也可能更快一些(并不是对于这样的查询很重要).
解决方法:
SELECT "ID" LIMIT 0;
没有任何真正的表格.
请注意,大多数(我的)SQL客户端只显示“空集”.但是,它实际上做你想要的:
create table test.test_table
select "ID" limit 0;
show create table test.test_table\G
Table: test_table
Create Table: CREATE TABLE `test_table` (
`ID` varchar(2) character set latin1 NOT NULL default ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
标签:mysql,select,set-theory
来源: https://codeday.me/bug/20190626/1291590.html