mysql 空集 赋值,mysql – 是否有一个简单的SELECT-Statement创建一个空集?

本文介绍如何在SQL中通过LIMIT 0或SELECT * FROM table WHERE FALSE等技巧创建一个只包含零行但指定列的表,类似于集合论中的空集概念。展示了在MySQL中实现这一操作的方法和示例。
摘要由CSDN通过智能技术生成

是否有一种简单而简单的方法来创建具有指定列但零行的结果表?在集合论中,这称为空集,但由于关系数据库使用多维集,因此该术语不完全适合.我尝试过这两个查询,但两者都只提供一行而不是零行:

> 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值