好久没发表博客了,今日偶有闲暇 仔细研究了一遍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(或NOT EXISTS)关键字引入一个子查询时,子查询实际上不产生任何数据;它只返回TRUE或FALS值。 指定一个子查询,检测行的存在。 如果子查询包含行,则返回 TRUE IN效率要差(返回子查询)
in 先执行子查询,子查询的结果返回去重之后,再执行主查询,所以,子查询的返回结果越少,越适合使用in关键字。 二、SQL语句的优化方式有那些? 1. 尽量避免非操作符的使用。在索引列上用NOT,等非操作符会导致...
本文介绍下sql server查询中,有关if exists与if not exists关键字的用法,有需要的朋友参考下
在SQL*PLUS 中使用变量453 DEFINE 454 ACCEPT 455 NEW_VALUE457 DUAL 表458 DECODE 函数459 日期转换462 运行一系列的SQL 文件465 在你的SQL 脚本中加入注释466 高级报表467 总结469 问与答469 校练场469 练习470 第...
11.1.4 由VALUES关键字插入多行数据 11.1.5 使用SELECT语句插入数据 11.1.6 通过视图插入数据 11.1.7 使用子查询插入数据 11.2 数据的更新操作 11.2.1 UPDATE语句的基本语法 11.2.2 使用UPDATE语句更新指定的列值 ...
9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’) 10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select *...
通配符在搜索模式中任意位置使用,并且可以使用多个通配符。 通配符%表示任何字符出现任意次数;还能代表搜索模式中给定位置的0个或多个字符。下划线匹配单个任意字符。 如:select table_name from user_tables ...
3. SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like \'%字段值%\' order by 字段名 [desc]" ...
0842 如何正确地理解和使用SQL中的关键字 503 19.2 比较、逻辑运算符查询 504 0843 如何使用算术运算符号进行比较查询 504 0844 如何使用比较运算符号进行比较查询 504 0845 如何使用AND逻辑运算符查询 ...
查询数据是指从数据库中的数据表或视图中获取所需要的数据,在mysql中,可以使用SELECT语句来查询数据。根据查询条件的不同,数据库系统会找到不同的数据。 SELECT语句的基本语法格式如下: [sql] view plain copy ...
然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname < filename.sql C:使用mysql命令 mysql -u username -p -D dbname ...
第2部分 在两层客户/服务器结构中使用JDBC和SQL 第5章 使用JDBC和SQL创建表 5.1 创建数据库 5.2 使用表 5.2.1 记录和字段、行和列 5.2.2 SQL数据类型 5.2.3 完整性约束 5.3 创建表 5.4 使用JDBC创建表 ...
第2部分 在两层客户/服务器结构中使用JDBC和SQL 第5章 使用JDBC和SQL创建表 5.1 创建数据库 5.2 使用表 5.2.1 记录和字段、行和列 5.2.2 SQL数据类型 5.2.3 完整性约束 5.3 创建表 5.4 使用JDBC创建表 ...
第2部分 在两层客户/服务器结构中使用JDBC和SQL 第5章 使用JDBC和SQL创建表 5.1 创建数据库 5.2 使用表 5.2.1 记录和字段、行和列 5.2.2 SQL数据类型 5.2.3 完整性约束 5.3 创建表 5.4 使用JDBC创建表 ...
第2部分 在两层客户/服务器结构中使用JDBC和SQL 第5章 使用JDBC和SQL创建表 5.1 创建数据库 5.2 使用表 5.2.1 记录和字段、行和列 5.2.2 SQL数据类型 5.2.3 完整性约束 5.3 创建表 5.4 使用JDBC创建表 ...
13.1.3 EXISTS及其相关子查询的使用 13.2 外部连接 13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部连接语法 13.2.3 用外部连接代替NOTIN 13.2.4 用NOTEXISTS代替NOTIN 13.3 自然连接和内部连接 13.4 ...
13.1.3 EXISTS及其相关子查询的使用 13.2 外部连接 13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部连接语法 13.2.3 用外部连接代替NOTIN 13.2.4 用NOTEXISTS代替NOTIN 13.3 自然连接和内部连接 13.4 ...