问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

pl/sql连接oracle数据库tables里面不显示表。

发布网友 发布时间:2022-04-08 06:50

我来回答

7个回答

懂视网 时间:2022-04-08 11:11

  我们可以通过引用两个表的方式,从两个表中获取数据:

  谁订购了产品,并且他们订购了什么产品?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P 

 

结果集:

LastNameFirstNameOrderNo
Adams John 22456
Adams John 24562
Carter Thomas 77895
Carter Thomas 44678

 

  这个方式看起来很直观,也是我们经常比较常用的,但没办法解决上面的问题,但是我们可以使用下面的join方式解决。


方式2:join

不同的 SQL JOIN

  除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。

  下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

  • JOIN: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行
  •  


     

    1)、SQL INNER JOIN 关键字

      在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

     

     

    INNER JOIN 关键字语法

     

    SELECT column_name(s)
    FROM table_name1
    INNER JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name

     

      注释:INNER JOIN 与 JOIN 是相同的。

    内连接(INNER JOIN)实例

      现在,我们希望列出所有人的定购。

      您可以使用下面的 SELECT 语句:

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    INNER JOIN Orders
    ON Persons.Id_P=Orders.Id_P
    ORDER BY Persons.LastName

    结果集:

    LastNameFirstNameOrderNo
    Adams John 22456
    Adams John 24562
    Carter Thomas 77895
    Carter Thomas 44678

      INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 "Persons" 中的行在 "Orders" 中没有匹配,就不会列出这些行。

     


     

    2)、SQL LEFT JOIN 关键字

      LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。(可以解决上面的问题)

    LEFT JOIN 关键字语法

    SELECT column_name(s)
    FROM table_name1
    LEFT JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name

      注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。

    左连接(LEFT JOIN)实例

      现在,我们希望列出所有的人,以及他们的定购 - 如果有的话。

      您可以使用下面的 SELECT 语句:

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    LEFT JOIN Orders
    ON Persons.Id_P=Orders.Id_P
    ORDER BY Persons.LastName

     

    结果集:

    LastNameFirstNameOrderNo
    Adams John 22456
    Adams John 24562
    Carter Thomas 77895
    Carter Thomas 44678
    Bush George  

      LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。


     

    3)、SQL RIGHT JOIN 关键字

      RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

    RIGHT JOIN 关键字语法

    SELECT column_name(s)
    FROM table_name1
    RIGHT JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name

     

      注释:在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。

    右连接(RIGHT JOIN)实例

      现在,我们希望列出所有的定单,以及定购它们的人 - 如果有的话。

      您可以使用下面的 SELECT 语句:

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    RIGHT JOIN Orders
    ON Persons.Id_P=Orders.Id_P
    ORDER BY Persons.LastName

    结果集:

    LastNameFirstNameOrderNo
    Adams John 22456
    Adams John 24562
    Carter Thomas 77895
    Carter Thomas 44678
        34764

      RIGHT JOIN 关键字会从右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中没有匹配的行。


     

    4)、SQL FULL JOIN 关键字

    只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。

    FULL JOIN 关键字语法

    SELECT column_name(s)
    FROM table_name1
    FULL JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name

      注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。

    全连接(FULL JOIN)实例

      现在,我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。

      您可以使用下面的 SELECT 语句:

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    FULL JOIN Orders
    ON Persons.Id_P=Orders.Id_P
    ORDER BY Persons.LastName

     

    结果集:

    LastNameFirstNameOrderNo
    Adams John 22456
    Adams John 24562
    Carter Thomas 77895
    Carter Thomas 44678
    Bush George  
        34764

    FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。

     

      致谢:感谢您的耐心阅读!

     

    oracle表连接——处理连接过程中另外一张表没有相关数据不显示问题

    标签:

    热心网友 时间:2022-04-08 08:19

    1、通过sysdb角色查看数据库是否正常,然后进入下一步。

    2、解压文件的32位客户端如图所示;需要把这个解压到安装目录下面的proct文件目录下面。

    3、将Oracle安装目录中的tnsnames.ora(位于%Oracle_Home%\NETWORK\ADMIN中)拷贝到该目录下。

    4、可以通过解压文件找到这个32位的客户端。

    5、进入PL/SQL(不登录进入即可),选择Tools》Preferences。

    6、最后一步,使用用户名与密码登录测试一下子;如图所示成功了。

    注意事项:

    SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。

    热心网友 时间:2022-04-08 09:37

    刚刚也遇到了,应该是程序问题,然后百度了一下结合自己刚刚点过的地方,可以在“当前用户”和 ”所有用户“两个选项切换一下,多切换几次就好。然后去看看Tbales是不是有了表

    热心网友 时间:2022-04-08 11:12

    把列表刷新一下就可以看到了
    直接在“Table”上右键点刷新
    或者
    “对象”下面、“+”左边的按钮 也可以

    热心网友 时间:2022-04-08 13:03

    同样的问题,楼主解决了吗?指导下!!!

    热心网友 时间:2022-04-08 15:11

    检查下权限,或换一个工具,Navicat Premium这个工具不错

    热心网友 时间:2022-04-08 17:36

    把当前用户那块切换到全部用户就可以了,这个是PLSQL的问题,我这也经常遇见,
    tables不能显示的时候,在当前用户和全部用户切换一下就好了追问怎么切换到全部用户?

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    arrive in和arrive at 有什么区别? 磁力泵为什么可空转? 为什么不让衬氟塑料磁力泵空转?怎样提升设备稳定性? 工业软管泵 塑料磁力泵为什么不能空转 求推荐男主和女配在一起的小说? 《红衣天下》txt全集下载 检测公司检测哪些 检测公司是怎么样的 检测公司属于什么企业 为什么一人得道鸡犬升天是贬义词?有何贬义的道理? 一人得道,鸡犬升天,是褒义词还是贬义词? 一人得道,鸡犬升天!是贬义词;还是褒义词? 一人得道,鸡犬升天是褒义词还是贬义词 一人得道 鸡犬升天是贬义词吗 为什么“一人得道鸡犬升天”是贬义词? 一人得道鸡犬升天 是贬义词还是褒义词 一人得道,鸡犬升天。是褒义词还是贬义词?再用这个词 一人得道鸡犬升天属于什么词 一人得道鸡犬升天是褒义词还是贬义词,再用这个词造个句 一人得道鸡犬升天是褒义词还是贬义词 手机微信红包可以充值吗 在微信充值红包有危险吗? 情人节送什么礼物给老婆最实惠呢? 情人节送什么给老婆好呢? QQ如何老师助手如何更改信息? QQ老师助手和微信班级小管家哪个实用? QQ群主怎样把老师助手里其他老师改为管理员? qq小班长机器人怎么总是作业提醒,是老师提醒还是系统提醒? 老师助手里面的小班长不会聊天怎么办? 一人得道 鸡犬升天 是贬义词吗? "一人得道,鸡犬升天"是褒义词还是贬义词? 为什么说“一人得道鸡犬*”啊?为什么说“一荣俱荣,一损俱损”啊? 一人得道鸡犬升天说的是谁的故事 聊聊你如何看待一人得道鸡犬升天这句话? 一人得道,鸡犬升天是什么意思? 你如何看待“一人得道,鸡犬升天”? 男生小脚裤配什么鞋最潮流?型男装备大比拼 米色鞋子配什么颜色裤子和衣服好 幼儿园保育论文怎么写 刚入职的保育老师师德论文怎么写 婴幼儿保育与教育论文一般是怎么写 幼儿园常规教育论文提纲从哪几个方面写 如果我是个高级保育员我应该怎么做论文 小学班干部作用应从哪几方面来写论文? 毕业设计从哪几个方面写 论文应该包括几个部分 自我评价要从哪几个方面写 家长对幼儿保育方面的建议怎么写 保育员论文在哪个发表才能有资格报考高级技师?