mysql select from table where_select 1 from table where的作用?

"SELECT 1 FROM identity_approve WHERE identity_num=' " . trim($_POST['IDnumber']) . " ' AND user_id !=".trim($_POST['uid']);  到底会有什么输出?

select 1 from table;

select xxx(表集合中的任意一行) from table;

select * from table

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

select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,1>xxx>*,因为不用查字典表。

1:select  1 from table       增加临时列,每行的列值是写在select后的数,这条sql语句中是1

2:select count(1)  from table   管count(a)的a值如何变化,得出的值总是table表的行数

3:select sum(1) from table   计算临时列的和

83c1819b9122f651a61a16c9054e5f9d.png

426adaf43206b9a48e4811d58c1df588.png

6051a2750b58c566edcae6adcb563af5.png

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

比如:select * from ta where exists (select 1 from ta.id = tb.id)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值