好久没发表博客了,今日偶有闲暇 仔细研究了一遍oracle中exists 的用法,整理了在一起, 记录在itieye,以防后忘。。。。嘎嘎
1. 关于数据首先做好数据的初始化工作
-- Create table
create table CUSTOMERS
(
CID NUMBER not null,
CNAME VARCHAR2(50) not null
)
alter table CUSTOMERS
add constraint CUSTOMERS_PK primary key (CID)
using index
tablespace USERS
-- Create sequence
create sequence SEQ_CUSTOMERS
minvalue 1
maxvalue 999999
start with 1
increment by 1
cache 20;
select * from customers;
insert into customers values(seq_customers.nextval,'张三');
insert into customers values(seq_customers.nextval,'李四');
insert into customers values(seq_customers.nextval,'王五');
--------------------------------------------------------------------------
-- Create table
create table ORDERS
(
OID NUMBER not null,
ONAME VARCHAR2(50) not null,
CID NUMBER
)
-- Create/Recreate primary, unique and foreign key constraints
alter table ORDERS
add constraint ORDERS_PK primary key (OID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Create sequence
create sequence SEQ_ORDERS
minvalue 1
maxvalue 999999
start with 1
increment by 1
cache 20;
insert into orders values(seq_orders.nextval,'订单1','1');
insert into orders values(seq_orders.nextval,'订单2','2');
insert into orders values(seq_orders.nextval,'订单3','2');
2.
/* 查询图书的标题,这些图书是有出版商的,换句话 查询的是 有出版商的图书 的图书标题*/
1.使用exists 关键字
select title from books where exists (select 1 from publishers where pub_id = books.pub_id);
2. 使用in
select * from books where pub_id in (select pub_id from publishers);
----------------------------------------------------------------------
not exists 和exists
/* 查询没有出版过书的 出版商的名称 */
select name from publishers where not exists ( select 1 from books where pub_id = publishers.pub_id)
查询 这些 出版商的名称 是在图书表中没有对应的记录 这些出版商的id
/* 查询有出版过书的 出版商的名称 */
select name from publishers where exists ( select 1 from books where pub_id = publishers.pub_id)
相关推荐
- **EXISTS**:用于检查子查询是否至少返回一行记录,是SQL中的一个重要逻辑关键字。 - **EXPLAIN**:用于分析和显示查询计划,帮助优化查询性能,虽然在SQL标准中未提及,但在实际应用中非常常见。 #### F系列...
### SQL EXISTS 和 NOT EXISTS 的用法详解 在SQL查询中,`EXISTS`与`NOT EXISTS`是非常实用的子查询操作符,它们主要用于检测是否存在满足一定条件的数据行。相较于`IN`、`NOT IN`等操作,`EXISTS`与`NOT EXISTS`...
### SQL Server 2005 EXISTS 使用方法详解 #### 一、EXISTS 子句概述 在 SQL Server 2005 中,`EXISTS` 是一个非常实用的子句,用于检查子查询是否返回至少一行数据。如果子查询返回至少一行数据,则 `EXISTS` ...
在SQL中,`EXISTS` 是一个非常重要的子句,用于判断子查询是否能返回至少一行数据。这个关键字不关心子查询返回的具体数据,而仅仅关注是否有数据存在。`EXISTS` 子句通常与 `WHERE` 子句一起使用,以过滤满足特定...
在SQL数据库查询语言中,与除法运算相对应的是一种特殊的子查询,即使用exists关键字的子查询。这篇文档探讨了如何通过对比教学法,将关系代数中的除法运算与SQL中的exists子查询相结合,帮助学生更深入地理解这两种...
在SQL查询中,`EXISTS`和`NOT EXISTS`是两个非常重要的子查询操作符,它们主要用于判断子查询是否返回结果。本篇文章将详细介绍这两个关键字的用法,并通过实例进行解析。 首先,`EXISTS`的语法是:主查询中的条件...
exists使用方式是检查子查询结果中是否存在匹配的记录,它会根据outer表的记录逐条进行比较,因此outer表的记录越少,exists的优势越大,特别是当子查询返回的结果集很大的时候。而in则先执行子查询,获取去重后的...
"SQL中的AS用法和经典SQL语句整理" SQL语言中,AS关键字用于为表或列指定别名,以便于查询和简化语句。在本文中,我们将总结一些常用的SQL语句,并解释AS用法的细节。 一、DELETE语句 DELETE语句用于删除表中的...
在SQL查询中,`EXISTS`子句是一个非常重要的存在性测试工具,它用于检查子查询是否返回至少一行数据。这个关键字通常与`WHERE`子句一起使用,以过滤出满足特定条件的记录。让我们深入探讨`EXISTS`及其反义词`NOT ...
存在量词在SQL语句中的应用是指使用Exists关键字来执行特定的查询操作。Exists用于子查询中,其主要作用是检查子...掌握_exists关键字及相关子查询的正确使用方法,能够有效提高数据查询的准确性和效率,降低查询成本。
总结来说,EXISTS关键字是数据库查询中非常重要的工具,尤其在涉及复杂的逻辑判断时。通过上述案例,我们了解到EXISTS能够在多种不同的场合下使用,包括判断记录的存在性、确保数据满足特定的条件等。在实际应用中,...
以下将详细介绍SQL格式、IF语句的用法、函数的声明及应用以及关键字的介绍。 1. SQL格式: SQL语句通常由数据操作语句(如SELECT、INSERT、UPDATE、DELETE)、数据定义语句(如CREATE TABLE、ALTER TABLE)和数据...
在SQL语言中,嵌套查询是一种非常强大的工具,它允许在一个查询内部嵌入另一个查询,以实现更复杂的逻辑和数据筛选。以下将详细介绍标题和描述中提到的几个嵌套查询的例子,以及它们所代表的知识点。 1. **子查询...
在SQL查询中,`TOP n`关键字是一个非常实用的功能,它允许我们从查询结果中提取前n个记录。这在分析数据、展示最热门或最新的项目时特别有用。然而,需要注意的是`TOP n`并非SQL的标准语法,而是由某些数据库系统如...
在Oracle数据库中,"IN"和"EXISTS"都是用于查询某个集合的元素是否存在于另一个集合中的关键字。然而,它们在处理数据时的效率和适用场景有所不同,这主要取决于涉及的数据量以及表之间的关联。 首先,让我们来看看...
以上是SQL2000中的各种查询方法,这些基础知识对于理解和使用任何SQL数据库都是非常重要的。通过熟练掌握这些方法,你可以高效地从数据库中获取你需要的信息。在实际应用中,还可以结合存储过程、触发器、视图等高级...
- **背景**:Hive不支持标准SQL中的`IN`和`EXISTS`关键字,但可以通过`LEFT SEMI JOIN`来模拟这些功能。 - **示例**:标准SQL中的`IN`关键字查询如下: ```sql SELECT a.key, a.value FROM a WHERE a.key IN ...
- **EXISTS 子查询**:使用 EXISTS 关键字来进行子查询,判断外部查询中的每一行是否满足内部查询的条件。内部查询如下: - `SELECT 1 FROM person_real_time_bill`:选取了 `person_real_time_bill` 表中的所有...
### 在ADO(SQL)中使用SELECT的语法之六——子查询的使用方法 #### 一、子查询概述 在SQL查询语言中,子查询是一个非常重要的概念。子查询是指在一个SQL命令内部嵌套另一个完整的SQL查询命令。通过使用子查询,我们...