select 1,select *,select count(),select sum(),select null

  • select 1 from dual where a >20 查询后返回1列,所返回的列值均为1,返回的行数等于满足条件的行数; 同理, select 常量 from … where …,查询后所返回的列值均为常量,返回的行数等于满足条件的行数。

                所以,select 1常用来判断是否有满足条件的数据。

  • select * 返回所有行的所有列

  • select count(*) from dual 返回表中数据的行数

  • select count(1) 和 count(*)的区别:

        跟表结构有关系:
           如果表中没有主键,那么count(1)比count(*)快
           如果有主键,那么count(主键,联合主键)比count(*)快
           如果表中只有一个字段,count(*)最快

  • select sum() 和 select count():

        select sum(1)和select count(*) 均是返回表中数据的行数,

        但是select sum(n)中的n可以是任意常数,返回的值是  n*表的行数。

  • select null是

        Select null 与Select 1 类似,只不过返回的列值为Null,在与Exists配合使用时,只要有行返回,则exists子查询仍然为True。和select 1 不同,Select null 中不可以使用count 和 sum 函数。null是一个特殊的值,既不是空也不是空格,而是一个不确定的值。

        如下代码
        SELECT   null 
        FROM     addresses
        WHERE    address_id = 1
        的意义是在表addresses中有几行满足条件address_id = 1的值就返回几行null值 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值