最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。
在工作中,查看到类似于如下的SQL语句:
select
tb.usrnm,
tb.typ,
tb.oprorder
from tb
inner join rb1
using (stfaprid)
where tb1.jugsumid = #jugsumid#
and tb1.blnorg = #blnorg#
and isvld = '1'
order by tb.typ asc, tb.oprorder asc
sql/92
标准可以使用using
关键字来简化连接查询,但是只是在查询满足下面两个条件时,才能使用using
关键字进行简化。
- 查询必须是等值连接。
- 等值连接中的列必须具有相同的名称和数据类型。
例如:使用using
关键字,如下:
select emptno,ename,sal,deptno,dname from emp e inner join dept d using(deptno);
如上述语句执行的结果与自然连接的结果相同。
使用using
关键字简化连接时,需要注意以下几点:
- 使用emp表和dept表中的deptno列进行连接时,在
using
子句和select
子句中,都不能为deptno列指定表名或表别名。- 如果在连接查询时使用了两个表中相同的多个列,那么就可以在
using
子句中指定多个列名。
形式如下:
select... from table1 inner join table2 using(column1,column2)
上述的语句相当于下面的语句:
select... from table1 inner join table2
on table1.column1=table2.column2
and table1.column2=table2.column2;
如果对多个表进行检索,就必须多次使用using
关键字进行指定,形式如下:
select... from table1
inner join table2 using(column1)
inner join table3 using(column2);
上述的语句相当于下面的语句:
select... from table1,table2,table3
where table1.column1=table2.column1
and table2.column2=table3.column2;
二、再议using
在Oracle
中的join
连接中使用using
关键字,相对于natural join
。
在前面提到,如果是使用natraul join
,并且两张表中如果有多个字段是具有相同的名称和数据类型,那么这些字段都将被oracle
自作主张的将他们连接起来。
但实际上我们有时候是不需要这样来连接的。我们只需要将他们的多个具有相同的名称和数据类型的字段中挑选一两个。这时候我们就需要用到using
关键字了。
下面是一个例子。
有一个表是sales,还有一个表是costs,这两个表中都有两个字段分别是pro_id和time_id。我们暂且不去考虑下面连接的实际意义,仅作语法上的研究。
如果使用natural连接,默认情况下,两个字段将会被自然地连接在一起。
计算机网络
-
HTTP 缓存
-
你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?
-
HTTP 常用的请求方式,区别和用途?
-
HTTPS 是什么?具体流程
-
三次握手和四次挥手
-
你对 TCP 滑动窗口有了解嘛?
-
WebSocket与Ajax的区别
-
了解 WebSocket 嘛?
-
HTTP 如何实现长连接?在什么时候会超时?
-
TCP 如何保证有效传输及拥塞控制原理。
-
TCP 协议怎么保证可靠的,UDP 为什么不可靠?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
算法
-
链表
-
字符串
-
数组问题
-
二叉树
-
排序算法
-
二分查找
-
动态规划
-
BFS
-
栈
-
DFS
-
回溯算法
-
字符串
-
数组问题
-
二叉树
-
排序算法
-
二分查找
-
动态规划
-
BFS
-
栈
-
DFS
-
回溯算法