oracle如何判断查询,oracle sql 判断
oracle查询判断怎么写
SELECT
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的沁水网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
distinct id,state,name
FROM
table1 main
WHERE
NOT EXISTS( select 1 FROM table1 sub where main.id=sub.id AND main.statesub.state);
未经测试。。。纯属手写,,如果以自己多年经验来说的话。。这段话应该不会有多大问题。。。希望你自己仔细测试之后能够提出宝贵意见!!!
Oracle中如何判断查询语句是否存在结果及 如果不存在则给一个null。
不知道你希望的null,是空,还是字符啊?估计你希望的是字符,根据你的问题,我做的测试,你看看:
--
新建表
CREATE
TABLE
student(ID
VARCHAR2(20),NAME
VARCHAR2(20),school
VARCHAR2(20));
--
插入数据
INSERT
INTO
student(id,name,school)VALUES('1','1','1');
INSERT
INTO
student(id,name,school)VALUES('2','2','1');
INSERT
INTO
student(id,name,school)VALUES('3','3','1');
INSERT
INTO
student(id,name,school)VALUES('4','4','2');
COMMIT;
--
查询school为1的后希望的到的结果是
1,1,1,2,2,1,3,3,1
SELECT
a.id,
a.name,
a.school
FROM
student
a
WHERE
a.school
=
'1';
--
假如查询school为2的,则希望结果为
4,4,2,null,null,null,null,null,null
SELECT
nvl(a.id,'null'),
nvl(a.name,'null'),
nvl(a.school,'null')
FROM
student
a
WHERE
a.school
=
'2'
UNION
ALL
SELECT
nvl2(a.school,'null',a.id),
nvl2(a.school,'null',a.name),
nvl2(a.school,'null',a.school)
FROM
student
a
WHERE
a.school
'2';
希望对你有所帮助。
Oracle中根据数据的值判断查询结果问题
用case和正则表达式可以处理,不知道列1的值为3时怎么处理,所以我没处理,你可以自己修改。
with t as
( select 1 col1, 'a,d' col2 from dual
union all
select 1, null from dual
union all
select 2, 'b,c' from dual
union all
select 2, 'b,c' from dual
union all
select 2, null from dual
union all
select 3, 'a,c' from dual
)
select col1, case when col1 = 1
then case when col2 is null then 'a'
when col2 is not null then regexp_substr(col2,'([a-b])')
else col2 end
when col1 = 2
then case when col2 is null then 'b'
when col2 is not null then regexp_substr(col2,'([c-d])')
else col2 end
else col2 end
from t;
oracle通过判断来进行查询
如果表结构和要查询的字段一样的话,可以考虑将三个查询语句通过union all联结起来,然后在各查询语句中进行判断,若不满足条件则查询字段都会空,最后总的去掉全空的记录。这个是笨方法,不然只能用存储过程了
oracle SQL查询中,如何在where中用条件语句,判断不同情况,追加不同的And条件?
1、先创建一个简单的数据表。
2、插入数据,顺便复习插入数据了,最好多插几个,查询的时候更明显。
3、select后面的字段是等下查询结果所显示的,where就是限制的条件,根据where查询到对应的列。
4、如果字段里面有数字的话也是可以根据数字大小进行查询的。
5、加入and语句可以同时限制两个条件来查询。
6、用%来查询,百分号在字母前表示以什么字母开头的,这里就是以名字为d开头来查询数据,同理把%放在后面就是以d结尾的名字。
Oracle如何通过一段SQL语句判断查询了哪些表?
sql查询由两部分组成
(1)查询的显示内容部分的表,也就是slelct后面的显示部分的表,那么就一定是查询的,比如这里的select t1.a,t2.b,t3.c,那么不管怎么说一定查询了 t1,t2,t3三张表,如果只查询了t1,t2两张,那么t3部分的数据是怎么出来的?所以,只要有显示的表就一定是查询的表。包括在显示部分(select中)的“子查询”,也算在这部分。
(2)流程表或中间表,这部分的表也查询了但不会出现在显示中,比如
select t1.a,t2.b,from t1,t2,t3 where t2.id=t3.id and t1.aa=t3.aa,这里显示的是t1,t2,但是查询的时候t1,t2,t3都查询了,只是t3属于中间表不需要显示,但是他也查询了,不然怎么判断t2.id=t3.id和t1.aa=t3.aa。当然这种也包括在where后面的子查询,子查询的表也算中间表。
当然以上是某种复杂的讲解,如果想简单的讲解也容易,那就是凡是跟在from后面的表,都是查询的表(左右连接也算在from后),如果这张表不需要查询,那么干嘛要写在这个语句中?当然包括子查询的from,只要是from那么后面的表一定就是需要查询的表。
本文名称:oracle如何判断查询,oracle sql 判断
文章源于:http://myzitong.com/article/hcgdoo.html