最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle中select1和select*的区别

来源:动视网 责编:小采 时间:2020-11-09 12:18:18
文档

Oracle中select1和select*的区别

Oracle中select1和select*的区别:创建myt表并插入数据,如下:create table myt(name varchar2,create_time date) insert into myt values( 创建myt表并插入数据,如下: create table myt(name varchar2,create_time date) insert into
推荐度:
导读Oracle中select1和select*的区别:创建myt表并插入数据,如下:create table myt(name varchar2,create_time date) insert into myt values( 创建myt表并插入数据,如下: create table myt(name varchar2,create_time date) insert into


创建myt表并插入数据,如下:create table myt(name varchar2,create_time date) insert into myt values(

创建myt表并插入数据,如下:

create table myt(name varchar2,create_time date)

insert into myt values('john',to_date(sysdate,'DD-MON-YY'));

insert into myt values('tom',to_date(sysdate,'DD-MON-YY'));

insert into myt values('lili',to_date(sysdate,'DD-MON-YY'));

在sql*plus中显示如下:

SQL> select * from myt;

NAME CREATE_TIME
---------- -----------
john 2010-5-19
tom 2010-5-19
lili 2010-5-19

SQL> select 1 from myt;

1
----------
1
1
1

SQL> select 0 from myt;

0
----------
0
0
0
从以上结果 可以看到,select constant fromtable 对所有行返回对应的常量值(具体应用见下面),

而select * from table则返回所有行对应的所有列。

select 1常用在exists子句中,检测符合条件记录是否存在。

如select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;
T1数据量小而T2数据量非常大时,T1<“select 1”这里的 “1”其实是无关紧要的,换成“*”也没问题,它只在乎括号里的数据能不能查找出来,是否存在这样的记录,如果存在where 条件成立。
如下示例:

SQL> select 1/0 from dual;

select 1/0 from dual

ORA-01476: 除数为 0

SQL> select * from myt where exists(select 1/0 from dual);

NAME CREATE_TIME
---------- -----------
john 2010-5-19
tom 2010-5-19
lili 2010-5-19

没有返回错误,说明,,并没有让select语句参与计算。

在exists子句中写select *并不返回表中所有的列,只是检测符合条件记录是否存在。

文档

Oracle中select1和select*的区别

Oracle中select1和select*的区别:创建myt表并插入数据,如下:create table myt(name varchar2,create_time date) insert into myt values( 创建myt表并插入数据,如下: create table myt(name varchar2,create_time date) insert into
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top