如果不为空,则从表中选择数据,否则选择整个表

时间:2015-05-17 16:28:23

标签: sql database oracle

所以,我有这张桌子

*COURSE_NO|COURSE_NAME*
CS 155   |  Programming in C++
MIS 101  |  Intro. to Info. Systems
MIS 301  |  Systems Analysis
MIS 441  |  Database Management
MIS 451  |  Web-Based Systems

我需要做的是: 用“' java'这个词来表示课程在他们的名字中,如果没有数据只显示整个表格。 我坚持这个几个小时,不胜感激任何帮助。

2 个答案:

答案 0 :(得分:0)

如果 在一个查询中执行此操作,则可以使用以下内容:

select t1.* from my_table as t1
where t1.COURSE_NAME like '%java%'
or not exists
   (select t2.* from my_table as t2
    where t2.COURSE_NAME like '%java%');

但为什么不让你的生活更简单,并将其分解为2个操作,每个操作都有自己的查询?首先发出这个简单的查询:

select * from my_table
where COURSE_NAME like '%java%';

如果您返回一些行,则显示它们(或您的应用程序所做的任何事情)。如果没有返回任何行,只需在下一步运行此查询:

select * from my_table;

答案 1 :(得分:0)

尝试:

{{1}}
相关问题