oracle 连接

前提准备:



表的创建:

CREATE TABLE A_TEST
(
A_ID VARCHAR2(100) NOT NULL,
A_C1 VARCHAR2(100),
A_C2 VARCHAR2(100),
A_C3 VARCHAR2(100),
A_C4 VARCHAR2(100)
)
数据:
1 AC1_1 AC2_1 AC3_1 AC4_1
2 AC1_2 AC2_2 AC3_2 AC4_2
3 AC1_3 AC2_3 AC3_3 AC4_3
4 AC1_4 AC2_4 AC3_4 AC4_4
5 AC1_5 AC2_5 AC3_5 AC4_5
6 AC1_6 AC2_6 AC3_6 AC4_6
7 AC1_7 AC2_7 AC3_7 AC4_7
11 AC1_11 AC2_11 AC3_11 AC4_11


CREATE TABLE B_TEST
(
B_ID VARCHAR2(100) NOT NULL,
B_C1 VARCHAR2(100),
B_C2 VARCHAR2(100),
B_C3 VARCHAR2(100),
B_C4 VARCHAR2(100),
B_C5 VARCHAR2(100),
B_C6 VARCHAR2(100)
)
数据:
1 BC1_1 BC2_1 BC3_1 BC4_1 BC5_1 BC6_1
2 BC1_2 BC2_2 BC3_2 BC4_2 BC5_2 BC6_2
3 BC1_3 BC2_3 BC3_3 BC4_3 BC5_3 BC6_3
4 BC1_4 BC2_4 BC3_4 BC4_4 BC5_4 BC6_4
5 BC1_5 BC2_5 BC3_5 BC4_5 BC5_5 BC6_5
6 BC1_6 BC2_6 BC3_6 BC4_6 BC5_6 BC6_6
7 BC1_7 BC2_7 BC3_7 BC4_7 BC5_7 BC6_7
8 BC1_8 BC2_8 BC3_8 BC4_8 BC5_8 BC6_8
9 BC1_9 BC2_9 BC3_9 BC4_9 BC5_9 BC6_9
10 BC1_10 BC2_10 BC3_10 BC4_10 BC5_10 BC6_10




内连接


SELECT A.A_C1
,B.B_C1
FROM A_TEST A
,B_TEST B
WHERE A.A_ID = B.B_ID

检索结果:
AC1_1 BC1_1
AC1_2 BC1_2
AC1_3 BC1_3
AC1_4 BC1_4
AC1_5 BC1_5
AC1_6 BC1_6
AC1_7 BC1_7



左连接(left outer join 或者 left join)
左外连接就是在等值连接的基础上加上主表中的未匹配数据,A left join B A就是主表



SELECT A.A_C1
,B.B_C1
FROM A_TEST A LEFT JOIN B_TEST B
ON A.A_ID = B.B_ID

检索结果:
AC1_1 BC1_1
AC1_2 BC1_2
AC1_3 BC1_3
AC1_4 BC1_4
AC1_5 BC1_5
AC1_6 BC1_6
AC1_7 BC1_7
AC1_11 (NULL)



右连接 (right outer join 或者 right join)
右外连接是在等值连接的基础上加上被连接表的不匹配数据 A RIGHT JOIN B B是主表

SELECT A.A_C1
,B.B_C1
FROM A_TEST A RIGHT JOIN B_TEST B
ON A.A_ID = B.B_ID

检索结果:
AC1_3 BC1_3
AC1_1 BC1_1
AC1_2 BC1_2
AC1_4 BC1_4
AC1_5 BC1_5
AC1_6 BC1_6
AC1_7 BC1_7
(NULL) BC1_10
(NULL) BC1_9
(NULL) BC1_8




※: left join 左边是主表 right join 右边的是主表


全连接(full outer join 或者 full join)
全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上


SELECT A.A_C1
,B.B_C1,B.B_C2
FROM A_TEST A FULL JOIN B_TEST B
ON A.A_ID = B.B_ID

检索结果:
AC1_1 BC1_1 BC2_1
AC1_2 BC1_2 BC2_2
AC1_3 BC1_3 BC2_3
AC1_4 BC1_4 BC2_4
AC1_5 BC1_5 BC2_5
AC1_6 BC1_6 BC2_6
AC1_7 BC1_7 BC2_7
(NULL) BC1_8 BC2_8
(NULL) BC1_9 BC2_9
(NULL) BC1_10 BC2_10
AC1_11 (NULL) (NULL)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle连接超时错误(ORA-12170)通常指发生了网络连接问题,导致客户端无法与Oracle数据库建立连接。产生这个错误的原因可能是网络不畅通或数据库端口未打开。 排错步骤如下: 1. 首先,检查网络是否畅通。可以通过在命令提示符下使用ping命令来测试与数据库IP的连接是否正常。如果ping不通,可能是网络故障或数据库服务器不可用。 [1] 2. 其次,检查端口是否畅通。可以使用telnet命令测试客户端是否能够访问数据库端口。如果telnet连接失败,可能是数据库端口未打开或防火墙阻止了连接。 [1] 3. 如果以上步骤都正常,那么可以尝试使用Oracle Net Manager配置本地服务名。可以通过在开始菜单中找到Oracle文件夹下的Net Manager工具来配置本地服务名。确保服务名正确配置,并与数据库端口匹配。 [2] 总的来说,ORA-12170错误通常是由网络连接问题引起的。检查网络畅通性和端口是否打开,使用Oracle Net Manager配置正确的本地服务名,有助于解决连接超时问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [关于Oracle连接超时的问题](https://blog.csdn.net/weixin_39566493/article/details/116508567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值