三、SQL数据检索11(不从实体表中取的数据)

有时需要查询一些不能从任何实体表中能够取得的数据。
如:将数字1作为结果集或者计算字符串“abc”的长度。
*尝试使用下面的SQL来完成类似的功能:

SELECT 1 FROM T_Employee

执行结果集:

1
1
1
1
1
1
1
1
1

结果集中出现了不止一个1,因为通过这种方式得到的结果集数量取决于T_Employee表中的数据条目数,必须要借助于DISTINCT关键字来将结果集条数限定为一条,如下:

SELECT DISTINCT 1 FROM T_Employee

执行结果:

1

可以在不带FROM子句的SELECT语句中使用函数

如:将字符串“abc”的长度作为结果集输出:

MYSQL:

SELECT LENGTH('abc')

MSSQLServer:

SELECT LEN('abc')

执行结果:

3

可以在SELECT语句中同时计算多个表达式

如:将1、2、3、’a’、’b’、’c’作为结果集输出:

SELECT 1,2,3,'a','b','c'

执行结果:

1 2 3 a b c

在Oracle中是不允许使用不带FROM子句的SELECT语句,不过我们可以使用Oracle的系统表来作为FROM子句中的表名
注意:系统表是Oracle内置的特殊表,最常用的是DUAL
如:将1以及字符串'abc'的长度作为结果集输出:

SELECT 1, LENGTH('abc') FROM DUAL

执行结果:

1 LENGTH(ABC)
1 3

在DB2中也不支持不带FROM子句的SELECT语句,它也是采用和Oracle类似的系统表,最常用的是SYSIBM.SYSDUMMY1。

如:将1以及字符串'abc'的长度作为结果集:

SELECT 1, LENGTH('abc') FROM SYSIBM.SYSDUMMY1

执行结果:

1 2
1 3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

媛媛要加油呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值