- 浏览: 785780 次
- 性别:
- 来自: 广州
文章分类
最新评论
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FROM order_items oi JOIN orders o
USING(order_id);
Which statement is true regarding the execution of this SQL statement?
A. The statement would not execute because table aliases are not allowed in the JOIN clause.
B. The statement would not execute because the table alias prefix is not used in the USING clause.
C. The statement would not execute because all the columns in the SELECT clause are not prefixedwith table aliases.
D. The statement would not execute because the column part of the USING clause cannot have a qualifier in the SELECT list.
Answer: D
分析上面这道题,要理解using关键字的用法:
在oralce中使用natural join,也就是自然连接。
使用natraul join进行连接查询,并且两张表中如果有多个字段是具有相同的名称和数据类型的,那么这些字段都将被oracle自作主张的将他们连接起来。但实际上我们有时候是不需要这样来连接的。我们只需要将他们的多个具有相同的名称和数据类型的字段中挑选一两个。这时候我们就需要用到using 关键字了。在Oracle中的join连接中使用using关键字,是相对于natural join的。
先看自然连接:
select ename, dname
from emp natural join dept
/
这时无需指定连接字段,oracle会自动识别相同的字段并自动进行连接,该例中会自动连接deptno字段。
当然,如果这两个表有多个相同字段,那oracle会把它们都做一个连接。
使用using关键字
select ename,dname
from emp join dept using (deptno)
/
明确的指定连接字段。
注意事项:
1、如果在使用using关键字时,而且select的结果列表项中包含了using关键字所指明的那个关键字,那么请不要在select的结果列表项中对该关键字指明它属于哪个表。
2、using中仅能使用一个列名。
3、natural join关键字和using关键字是互斥的,也就是说不能同时出现。
显然,选项D是正确的,因为示例语句中的USING(order_id)这列在select语句中使用了限
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FROM order_items oi JOIN orders o
USING(order_id);
Which statement is true regarding the execution of this SQL statement?
A. The statement would not execute because table aliases are not allowed in the JOIN clause.
B. The statement would not execute because the table alias prefix is not used in the USING clause.
C. The statement would not execute because all the columns in the SELECT clause are not prefixedwith table aliases.
D. The statement would not execute because the column part of the USING clause cannot have a qualifier in the SELECT list.
Answer: D
分析上面这道题,要理解using关键字的用法:
在oralce中使用natural join,也就是自然连接。
使用natraul join进行连接查询,并且两张表中如果有多个字段是具有相同的名称和数据类型的,那么这些字段都将被oracle自作主张的将他们连接起来。但实际上我们有时候是不需要这样来连接的。我们只需要将他们的多个具有相同的名称和数据类型的字段中挑选一两个。这时候我们就需要用到using 关键字了。在Oracle中的join连接中使用using关键字,是相对于natural join的。
先看自然连接:
select ename, dname
from emp natural join dept
/
这时无需指定连接字段,oracle会自动识别相同的字段并自动进行连接,该例中会自动连接deptno字段。
当然,如果这两个表有多个相同字段,那oracle会把它们都做一个连接。
使用using关键字
select ename,dname
from emp join dept using (deptno)
/
明确的指定连接字段。
注意事项:
1、如果在使用using关键字时,而且select的结果列表项中包含了using关键字所指明的那个关键字,那么请不要在select的结果列表项中对该关键字指明它属于哪个表。
2、using中仅能使用一个列名。
3、natural join关键字和using关键字是互斥的,也就是说不能同时出现。
显然,选项D是正确的,因为示例语句中的USING(order_id)这列在select语句中使用了限
发表评论
-
Oracle 10g 的clusterware 32位 下载地址
2013-04-19 23:03 1212Oracle 10g 的clusterware 32位 下载地 ... -
oracle 分析函数 RANK()
2013-04-11 00:05 1099RANK()既是一个聚合函数,也是一个分析函数 其具体的语法 ... -
oracle 分析函数
2013-04-09 23:25 1174分析函数是用于计算一组中多行的聚合值,与聚合函数的区别在于聚合 ... -
批量执行 bulk collect与forall用法
2013-04-08 23:49 1394BULK COLLECT 子句会批量检 ... -
pl/sql集合类型
2013-03-26 10:12 1573--集合类型 /* 单行单列的数据,使用标量变量 单行 ... -
oracle 行链接与行迁移
2013-03-16 01:06 1105表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放 ... -
oracle Health Monitor
2013-01-20 00:02 1611About Health Monitor Beginning ... -
oracle moving window size与 AWR retention period关系
2013-01-19 15:58 8486转自: http://tomszrp.itpub.net/po ... -
Oracle11.2新特性之INSERT提示IGNORE_ROW_ON_DUPKEY_INDEX
2013-01-12 00:20 2914insert提示IGNORE_ROW_ON_DUPKEY_IN ... -
oracle 11g新特性Flashback data archive
2013-01-09 22:52 30871. 什么是flashback data archive F ... -
RMAN List和report 命令
2012-12-25 00:07 2898LIST 命令 使用RMAN LIST 命令显示有关资料档案库 ... -
oracle ASM中ASM_POWER_LIMIT参数
2012-12-24 23:46 6430ASM_POWER_LIMIT 该初始化参数用于指定ASM例程 ... -
oracle I/O 从属进程
2012-12-24 23:24 1424I/O 从属进程 I/O从 ... -
easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
2012-12-19 23:43 5640用easy connect连接出现“tns无法解析指定的连接标 ... -
Flashback Database --闪回数据库
2012-12-19 23:38 1392Flashback 技术是以Undo segment中的内容为 ... -
Oracle 11g新特性:Automatic Diagnostic Repository
2012-12-19 22:35 1395Oracle Database 11g的FDI(Fault D ... -
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
2012-12-19 22:09 2698RMAN配置中通道(CHANNEL)相 ... -
oracle 空间RESUMABLE
2012-12-14 22:05 3061空间RESUMABLE操作 转 Oracle从9i开始 ... -
oracle 创建视图 with check option
2012-12-13 23:14 1528我们来看下面的例子: create or replace vi ... -
flashback transaction闪回事务查询
2012-11-26 22:00 1505闪回事务查询有别于闪回查询的特点有以下3个: (1) ...
相关推荐
在这个例子中,通过使用 `USING` 关键字指定了连接字段 `deptno`,避免了重复书写表名。 #### 六、总结 通过对Oracle中多表连接技术的学习,我们可以更加灵活地处理复杂的查询需求。正确使用各种类型的连接,能够...
在Oracle中,笛卡尔连接可以通过两种方式实现:传统方法和使用JOIN关键字。传统的笛卡尔连接查询是通过在FROM子句中同时列出两个表,并在WHERE子句中不设置任何连接条件来完成。而使用JOIN关键字,我们可以明确地...
Explain关键字是MySQL中的一个重要工具,它能够帮助数据库管理员和开发人员深入理解SQL语句的执行计划。通过分析执行计划,我们可以优化查询语句,提高数据库性能。 首先,Explain关键字可以提供每个SELECT查询的...
11. 名词解释页脚内容 11:可以使用USING关键字来指定两个表共有的列名。使用NATURAL JOIN关键字可以创建自然联接。 12. 名词解释页脚内容 12:可以使用自联接来连接同一个表中的不同行。使用非等值联接可以连接两...
在ANSI SQL:99标准中,连接语法变得更加规范,包括使用JOIN关键字、USING子句和ON子句。JOIN用于显式表示连接,USING适用于连接相同名称的列,而ON则可以指定任意的连接条件。这使得在不同数据库系统间迁移SQL代码变...
7. 连接操作:SQL Server使用 `JOIN ON`,Oracle也支持这种写法,但更常见的Oracle风格是 `USING` 关键字。 8. 事务处理:SQL Server使用 `BEGIN TRANSACTION`,`COMMIT` 和 `ROLLBACK`,Oracle也有对应的 `BEGIN`...
除了基本的内连接和外连接,Oracle 10g还提供了自连接和交叉连接,以及更高级的 `JOIN` 语法,如 `NATURAL JOIN`, `USING` 关键字。 九、子查询 子查询可以在查询中嵌套,用于过滤、聚合或比较。Oracle 10g还支持...
在提供的示例中,使用了`JOIN...USING`语法的变体,即`JOIN...WITH (+)`(在Oracle中,这是一种过时的表示法,现代语法更倾向于使用`LEFT JOIN`): ```sql SELECT a.*, b.skill FROM students a, student_skill b...
- `USING`子句:指定连接列,如`JOIN USING(deptno)`。 - `ON`子句:自定义连接条件,如`JOIN ON emp.deptno=dept.deptno`。 5. **子查询**: - 使用`IN`关键字的子查询:找出符合子查询结果集的记录,如`WHERE ...
- 使用逗号`,`分隔的表名列表,并在`WHERE`子句中指定连接条件,这是在Oracle早期版本中使用的方法。 - 使用`USING`子句,当连接的表有同名列时,可以简化连接条件的编写。 ### 示例代码 下面是一个使用等值连接的...
- 在SQL中,NULL表示未知或缺失的值,可以在查询中使用IS NULL或IS NOT NULL来处理这些值。 - **1.4.7 定义列别名** - 使用AS或空格后跟别名的形式来为查询结果中的列指定别名,提高结果集的可读性。 - **1.4.8 连...
选项 a 和 b 使用通配符 `%` 和 `_`,但这些通配符在 SQL 的 `LIKE` 子句中使用,而不是在等于比较中。选项 c 和 d 缺少通配符,所以都不会匹配到 'King'。正确的查询应该是 `SELECT empno FROM emp WHERE ename = '...
在示例中,通过使用`JOIN`关键字,我们可以联接`emp`和`dept`表,获取雇员名称、部门名称和地点。别名的使用可以使查询语句更易读,如`e`代表`emp`,`d`代表`dept`。 2. **左右连接**:左右连接(也称左外连接和右...
以上是从“Oracle 9iDBA 1Z0-007 题库”中提炼出的关键知识点,涵盖了创建视图、同义词、排序查询结果、使用USING子句以及表定义与数据完整性等方面的内容,有助于加深对Oracle数据库管理和操作的理解。
【Oracle笔记】这篇笔记主要涵盖了Oracle数据库中的多表查询、连接类型、SQL语言的使用以及组函数和分组统计等核心概念。 1. **多表查询**:在Oracle中,当需要查询的数据涉及多张表时,我们进行多表查询。例如,...
- 注意点: Oracle使用 `EXECUTE IMMEDIATE` 执行动态SQL,而DB2则需要先使用 `PREPARE` 准备SQL,然后再执行。 #### 3. 游标转换 - **Oracle** 和 **DB2** 都支持游标,但语法有所不同。 - Oracle示例: ```sql ...
- 通过JOIN关键字实现多表之间的连接,常见的有内连接、左连接、右连接等。 - 连接条件通常使用ON或USING子句指定。 #### 五、数据定义与数据操纵 - **数据定义语言(DDL)**: - 用于创建、修改或删除数据库中的...
- **规范要求**:在动态SQL中使用绑定变量可以提高性能,尤其是在执行多次相同查询时。 - **示例**: ```plsql DECLARE v_sql VARCHAR2(100); v_dept_id NUMBER := 10; BEGIN v_sql := 'SELECT * FROM ...
- 尽量避免在`where`子句中使用函数,这可能会导致索引失效。 - 示例: ```sql -- 错误示例 select * from tab1 where lower(col1) = 'value'; -- 正确示例 select * from tab1 where col1 = 'VALUE'; ``` #...