精华内容
下载资源
问答
  • PLSQL连接

    千次阅读 2017-01-11 11:19:37
    PLSQL连接,左外连接,右外连接PLSQL如何让一个表外连接到多表

    1.为什么表之间要进行连接?

    学习的过程中,我们要学会多问几个问什么,多思考,多尝试,才能够更好的成长。尤其是,在初学的时候,沉浸在单表查询中的喜悦中,无法自拔、不能自已。我们需要用唯物辩证法的联系观点去看待这个问题。当表与表之间存在一定的联系的时候,我们可能需要连接表来获所得需要的信息,连接的桥梁就是条件。

    2. Employee,Department

    (1)先简单地创建两张表

    【department】

    create table department
    ( dep_id   VARCHAR2(5) PRIMARY KEY,
      dep_no   VARCHAR2(5) UNIQUE,
      dep_name VARCHAR2(20)
    )

    【employee】

    create table employee
    ( emp_id   VARCHAR2(5) PRIMARY KEY,
      emp_no   VARCHAR2(5) UNIQUE,
      emp_name VARCHAR2(20),
      emp_sex  VARCHAR2(5),
      dep_id   VARCHAR(5) REFERENCES department(dep_id)
    )

    (2)插入一些数据

    这里写图片描述

    这里写图片描述

    3.交叉连接

    它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。简单地说不管三七二十一就把两张表连接在一起。

    SELECT * FROM employee,department

    【结果】

    这里写图片描述

    employee表中有5条数据,department表中有4条数据。因为无脑连接(假装没联系,呵呵),employee表中的每一条记录都会连接department表中的所有记录,所以我们看到结果有20条。

    4.内连接

    (1)联系

    把这两张表分别当做汉子和妹子。两个人怎么样才能够走到一起呢,这是个问题。当然两个人有共同的兴趣爱好是在一起的充分条件,部门ID就是他们的共同点

    (2)连接(我们想获取员工及其所属部门等信息)

    SELECT  emp_id,
            emp_no,
            emp_name,
            emp_sex,
            dep.dep_id,
            dep_no,
            dep_name 
            FROM employee emp,department dep
                 WHERE emp.dep_id=dep.dep_id

    【结果】

    这里写图片描述

    5.外连接

    (1)为什么要用外连接?

    我们想要的是所有员工的信息,很显然内连接是无法满足要求的,一些暂时还没有所属部门的员工的信息(比如新来的员工,还没有维护好基础数据)将获取不了。需求是要获取所有员工的信息,如果员工没有所属部门的,就空在那里。

    (2)左连接

    (+)的另一侧为连接的方向,下面的是左连接,(+)左侧的全部显示,即显示所有的员工,然后department表进行匹配,不存在部门的,那么相关字段就为nul值l

    SELECT emp_id,
           emp_no,
           emp_name,
           emp_sex,
           emp.dep_id
           dep_no,
           dep_name
           FROM employee emp,department dep
           WHERE 1=1
                 AND emp.dep_id=dep.dep_id(+)
                 ORDER BY emp_no

    【结果】

    这里写图片描述

    (3)右连接

    现在我们来改一下需求,我们要获取的是所有部门的员工信息

    那么部门就要全部显示,和employee表进行匹配,有员工的就显示,没员工的,那么相关的字段都为null值

    SELECT dep.dep_id
           dep_no,
           dep_name
           emp_id,
           emp_no,
           emp_name,
           emp_sex
           FROM employee emp,department dep
           WHERE 1=1
                 AND emp.dep_id(+)=dep.dep_id
                 ORDER BY dep_no  

    【结果】

    这里写图片描述

    6.如何外部连接到多表?

    (1)新建一个部门宿舍表,假设公司会为每个部门分配好宿舍

    create table ROOM
    (
      room_id VARCHAR2(3) primary key,
      room_no VARCHAR2(3) unique,
      dep_id  VARCHAR2(5) REFERENCES department(dep_id)
    
    )

    (2)插入几条数据

    这里写图片描述

    (3)需求

    我们需要获取公司所有宿舍员工的信息情况

    SELECT r.room_id,
           r.room_no,
           emp_id,
           emp_no,
           emp_name,
           emp_sex,
           dep.dep_no,
           dep.dep_name
           FROM employee emp,department dep,room r
           WHERE 1=1
                 AND emp.dep_id=dep.dep_id(+)
                 AND r.dep_id=dep.dep_id(+)
                 ORDER BY room_no

    【结果】

    这里写图片描述

    (4)解决方法

    department这张表要分别连接employee表和room表,但是又不能外连接两张表。可以先让deparment表和room表进行外连接,再用得到的结果和employee进行连接。

    SELECT r_dep.room_id,
           r_dep.room_no, 
           emp_id, 
           emp_no, 
           emp_name, 
           emp_sex, 
           r_dep.dep_no,
           r_dep.dep_id,
           r_dep.dep_name
      FROM employee emp,
           department dep,
           (SELECT room_id, room_no, r.dep_id,dep.dep_no,dep.dep_name 
                   FROM department dep, room r 
                   WHERE r.dep_id = dep.dep_id(+)) r_dep
     WHERE 1 = 1
       AND emp.dep_id = dep.dep_id(+)
       AND emp.dep_id(+) = r_dep.dep_id
    

    【结果】

    这里写图片描述

    因为制造部暂时还没有员工,所以相关字段为null.在这里room表只和department表有联系。另外的两个员工(刘琴,新来的)因为没有所属部门,所以在这里也不会出现。

    展开全文
  • oracle与plsql连接

    2017-03-07 11:34:14
    oracle与plsql连接

    1.将两个压缩包同时选中解压,点击setup直接安装,安装完后修改两个文件:


    D:\XX\product\11.2.0\dbhome_1\NETWORK\ADMIN
    listener:
    (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = D:\app\201610201\product\11.2.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:D:\app\201610201\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
        加入下面内容:
        (SID_DESC =
          (SID_NAME = ORCL)
          (ORACLE_HOME = D:\app\201610201\product\11.2.0\dbhome_1)
          (ENVS = "EXTPROC_DLLS=ONLY:D:\app\201610201\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
      )
    tnsnames:全部修改为:HOST = 127.0.0.1

    2.打开plsql-工具-首选项-检查连接


    3.登录:sqlplus 用户名:sys 密码 as sysdba 连接到oracle
    4.新建用户 create user XX identified by XX  授权 grant dba to fXX
    5.导入dmp:cmd-imp XX/XX@orcl file="D:\2015.dmp" full=y;(dos命令非oracle命令)
    6.登录:XX  XX  127.0.0.1:1521/ORCL
    7.安装myeclipse:
    安装目录为:C:\tools\Genuitec 也可修改配置文件myeclipse.ini
    项目导入-取消校验(vaidation,showView-navigator-.project)-修改xml中地址,全部改为127.0.0.1  XX XX

     

    展开全文
  • 1、打开SQL Developer,点击绿色的“+”新建连接: 2、连接名就是连接成功后显示的,可以根据自己的意愿填写。  注意:第一次安装oracle后使用系统管理员登陆,用户名:system , 密码就是安装oracle时候的...

    一、第一次使用Oracle连接登陆

    1、打开SQL Developer,点击绿色的“+”新建连接:


    2、连接名就是连接成功后显示的,可以根据自己的意愿填写。

         注意:第一次安装oracle后使用系统管理员登陆,用户名:system , 密码就是安装oracle时候的system密码;

        选中SID,SID输入框内容要根据服务里面OracleService*****来确定,大小都可以。如图参考我的oracle;

    二、新建oracle用户

    1、点击测试和连接成功后左侧就出现连接名及系统默认的数据库,右键点击最下面:其他用户-->创建自己的oracle用户,避免日后用系统管理员用户连接。

    2、现在数据库的用户名必须要用“c##”开头,表示云数据库,如: c##yangsl ;

    3、角色DBA选择,给用户处于管理员模式;点击应用创建成功。

    4、创建后左侧其他用户会出现新的用户名,断开连接以新的用户名连接。


    三、PLSQL Developer连接oracle数据库


    四、Navicat for Oracle连接数据库


    展开全文
  • plsql远程连接Oracle

    2020-11-09 10:03:41
    plsql远程连接数据建库: 1.下载安装Oracle 链接:https://pan.baidu.com/s/1PBhxh9MSVw7QxljzfA6L2w 提取码:msqk 2.配置instantclient_11_2 新建目录ADMIN,新建tnsnames.ora,内容为 第一个框随意写 第...

    plsql远程连接数据建库:

    1.下载安装Oracle

    链接:https://pan.baidu.com/s/1PBhxh9MSVw7QxljzfA6L2w 
    提取码:msqk 

    2.配置instantclient_11_2

    新建目录ADMIN,新建tnsnames.ora,内容为

    第一个框随意写

    第二个框为远程Oracle的IP地址

    第三个框为远程Oracle的数据库名称,默认数据库为orcl(注意oracle和pl/sql检查严格,不能有多与空格或者括号没对齐问题,特别是第一行)

    oracledb =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.37)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )

    3.工具》首选项   配置

    4.配置环境变量

    NLS_LANG:AMERICAN_AMERICA.AL32UTF8

    TNS_ADMIN:D:\Program Files\instantclient_11_2\ADMIN

     

     

     

    展开全文
  • PLSQL 远程连接Oracle

    2020-01-03 18:07:38
    PLSQL 远程连接Oracle PLSQL要远程连接Oracle数据库,首先要先在本地下载一个Oracle Client,然后进行配置即可。 下载Oracle Client 在Oracle Instant Client Downloads下载对于版本的Oracle Client,直接解压到本地...
  • 满意答案lkdelv2019.02.28采纳率:41%等级:9已帮助:415人原因为当前windows系统为64位,解决方案:在64位环境下用PL/SQL Developer连接:•1. 下载Oracle InstantClient,并展开到某目录,例如C:\instantclient-...
  • 使用PLSQL Developer连接Oracle数据库详解

    万次阅读 多人点赞 2018-08-27 22:26:56
    前景摘要:本人使用plsql连接oracle折磨半天才得以正常连接使用,由于总是需要换机子,所以每次都要重新安装,所以将其记录下来,为以后不时之需。 安装过的系统: Windows7 64位 Windows10 64位 一、...
  • plsql远程连接数据库

    2019-07-16 17:43:25
    在用plsql远程连接数据库的时候先是做配置: 1.先是配置环境变量-我的电脑-->属性-->高级系统设置--环境变量 新建一个用户变量,名字随意我的是TMP_AMDMIN,值就是tnsnames.ora的路径 Z:\PLSQL Developer\...
  • PLSQL Developer连接Oracle11g 64位数据库配置详解PLSQL Developer连接Oracle11g 64位数据库配置详解
  • 工具数据库开发程序 PLsql Developeroracle 客户端 instantclient,点击下载(下载与oracle相同版本或最新版本,如果PLsql Developer是32位,则要下载32位的)安装1、解压oracle客户端 到盘某个目录。我的目录是C:\...
  • 我是在远程堡垒机服务器使用plsql连接Oracle的,步骤如下: 1、下载一个plsqldev1106x64.exe,直接安装 2、下载一个instantclient,根据电脑配置选址instantclient 配置,我的是win7 64位的系统 所以选择一个63位的...
  • 下载好后解压image3、下载好后解压,放在笔记本某个磁盘下面,比如D盘,如图所示:image4、上图是本人配置好的PLSQL,刚下载的instantclient没有NETWORK文件夹的,在instantclient根目录下新建NETWORK文件夹,在...
  • PLSQL Developer连接ORACLE

    2020-08-11 17:52:26
    PLSQL Developer连接ORACLE 1、下载 下载地址:Oracle Instant Client 这是Oracle Instant Client的下载首页,有很多种版本可供下载。 但要注意第三方工具如:PL/SQL Developer的版本,32位的要对应32位的Oracle...
  • 工具准备1、安装PLSQL,使用默认安装即可 2、下载instantClient,需要使用相应位的,32位和64位是不匹配network配置1、在下载的instantClient文件夹(包含oci.dll文件)内新建network文件夹 2、在network文件夹内新家...
  • 1,下载plsql 链接:https://pan.baidu.com/s/1o8icFL1GzJDtWjVSj9PQww 提取码:vc36 2,注册 3,下载简易版的oracle 链接:https://pan.baidu.com/s/1Fi9fnFopazVlB8pwt09ZJg 提取码:l7rc 我的保存在e:盘下,在E:\...
  • 使用PLSQL Developer连接Oracle数据库 下载与Oracle对应版本的instant client,查看Oracle版本方法 select * from v$version; instant client下载地址:点击下载(最好下载32位),下载完成后直接解压 配置...
  • 因为某些PLSQL Developer只有32位版本,所以连接不上64位Oracle,Navicat连接时,会提示ORA-28547的错误。 这时,需要下载instantclient-basic,来解决连接问题。 一、32位PLSQL Developer连接64位Oracle 1.下载...
  • Plsql配置连接oracle数据库 所需要文件包 Oracleclient PLSQL Developer 11.0.6.1776 1.配置环境变量 TNS_ADMIN D:\SDE\oralce\oracleclient NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK 2.配置连接...
  • 首先我们在讲PLSQL Develope连接oracle数据库配置之前,先讲下如果不用PLSQL Develope连接oracle数据库,那该怎么办,那就是在本机安装oracle数据库,不过这个对于配置渣的笔记本来说是个挑战,而且界面长时间不操作...
  • PLSQL Developer连接远程oracle配置

    千次阅读 2016-09-02 12:32:09
    通过windows环境下的PLSQL Developer,访问服务器端的oracle数据库
  • plsql远程连接oracle

    2013-01-09 16:40:36
    以下来自iteye,这个哥们写的很详细了。 1.下载oracle的instantclient-basic-nt-11.2.0.3.0 ...2.打开PL_SQL,点cancel,进入plsql界面,tools->perference里面设置OCI Library和Oracle_home,例子如下: OCI Libra
  • PLsql客户端连接数据库服务器配置 文档适用范围: 服务端版本:11g/12c/19c 客户端类型:plsql官方,全量PLSQLDeveloper.zip 客户端版本:11~12 客户端安装: PLSQLDeveloper.zip oracle_client_11g_32位客户端...
  • 注意:使用plsql连接数据库需要安装oracle客户端! 一、下载oracle客户端instantclient-basic-nt-12.1.0.2.0.zip(注意对应上oracle、plsql版本) ...
  • PLSQL远程连接数据库

    2020-11-01 16:56:59
    下载oracle客户端:https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html 我下载的是oracle11 压缩包名字:...新建文件 E:\tools\oracle\instantclient_11_2\network
  •  测试环境描述Oracle数据库服务器操作系统:windowsserver2008x64Oracle数据库版本:Oracle11.2.0.4x64PLSQLDeveloper版本:PLSQLDeveloper12x64 ...本文中主要分以下两种情况介绍PLSQLDeveloper连接Oracle数据库。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,535
精华内容 1,814
关键字:

plsql新建连接