create table cps_emp as
select * from s_emp where 1=1;
这里“1=1”是什么意思?还有就是: select distinct m.first_name,m.id
from s_emp m,s_emp e
where m.id=e.manager_id(+)
and e.manager_id is null;
后面为什么要有 and e.manager_id is null?是什么作用?问题3:select first_name,salary,
nvl(to_char(grade),'no matched salgrade')
from s_emp,salgrade
where salary between losal(+) and hisal(+);
losal是什么类型的?这种外连接是什么意思?谢谢大家!请指教!
select * from s_emp where 1=1;
这里“1=1”是什么意思?还有就是: select distinct m.first_name,m.id
from s_emp m,s_emp e
where m.id=e.manager_id(+)
and e.manager_id is null;
后面为什么要有 and e.manager_id is null?是什么作用?问题3:select first_name,salary,
nvl(to_char(grade),'no matched salgrade')
from s_emp,salgrade
where salary between losal(+) and hisal(+);
losal是什么类型的?这种外连接是什么意思?谢谢大家!请指教!
1=1 就是表示“真” 的意思
where 1=1 就是表示什么条件都可以和写不写 这个条件是一样的。
select * from s_emp where 1=1;这个是表的数据拷贝语句 cps_emp 完全拷贝表 s_emp
select * from s_emp where 1=1;
这里“1=1”是什么意思?
这个1=1 是把s_emp表中的数据拷到cps_emp的意思。。
还有就是: select distinct m.first_name,m.id
from s_emp m,s_emp e
where m.id=e.manager_id(+)
and e.manager_id is null;
后面为什么要有 and e.manager_id is null?是什么作用?
这个我感觉是is not null 这是使得id用到索引的意思
个人意见
create table cps_emp as
select * from s_emp where 1=1;
这里“1=1”是什么意思?这里创建一个表cps_em与s_emp一致。(表结构和数据)如果使用以下方式,将导致,只有表结构,但没有表数据:
create table cps_emp as
select * from s_emp where 1=2;
(问题2)
还有就是: select distinct m.first_name,m.id
from s_emp m,s_emp e
where m.id=e.manager_id(+)
and e.manager_id is null;
后面为什么要有 and e.manager_id is null?是什么作用?select distinct m.first_name,m.id
from s_emp m,s_emp e where m.id=e.manager_id(+)
以上语句形成一个笛卡尔积,连接条件:
m.id=e.manager_id(+),其中,该条件导致e.manager_id可以为空,m.id的值不为空。
e.manager_id is null 这个条件说明:找到m.id不在e.manager_id中的记录。(问题3)select first_name,salary,
nvl(to_char(grade),'no matched salgrade')
from s_emp,salgrade
where salary between losal(+) and hisal(+);
losal是什么类型的?这种外连接是什么意思?谢谢大家!请指教!查看losal和hisal在哪个表中,然后通过执行 desc 表名 来查出该字段的类型。(跟salary类型一样,应该是number类型)这种外连接,应该是当losal和hisal都有值时,则salary必须在losal和hisal之间;如果losal或者hisal有一个值没有值,则salary只需要满足一个条件就可以(小于最大的,或者大于最大的);如果losal和hisal都没有值,则,该salary依然当做满足条件的数据。(此分析为个人根据外连接的概念得出,仅供参考,最好通过实际的sql,试验一下)。