select 1 from table的作用与解析

本文探讨了在SQL查询中使用SELECT 1, SELECT任意字段及SELECT *的区别与效率对比,特别强调了SELECT 1在判断子查询成功时的应用,以及其在性能上的优势。

有一张student表
在这里插入图片描述
select 1 from student where ssex=“男” 到底会有什么输出?

对比分析:

1. select 1 from table;
2. select xxx(表中的任意一行) from table;
3. select * from table;

从作用上来说是没有差别的,都是查看表中是否有记录,且一般是作条件查询用的

其中2和3较为常见,这里着重解释一下select 1 from table;
一、select 1 from table 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,select 1 > select xxx > select *,因为不用查字典表。

例如:select 1 from student 的结果是
在这里插入图片描述

二、一般用来当做判断子查询是否成功(即是否有满足条件的时候使用)

比如:
select * from student stuA where exists (select 1 from stuA.id = stuB.id)

  1. 这个判断就是当(select 1 from stuA.id = stuB.id)这个查询如果有返回值的话表示当前查询满足条件。
  2. 一般来说想简单的话用select 1,当然也可以用select * ,或者select 任何字段,因为这里仅仅是表明子查询有结果就行了,至于是什么结果无所谓。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值