Home Database Mysql Tutorial 全面了解Oracle的连接

全面了解Oracle的连接

Jun 07, 2016 pm 03:13 PM
oracle learn comprehensive Enter connect

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 2012年Oracle辅导:全面了解Oracle的连接 首先仍是声名一下,为什么要使用毗连(join)?原因有两点: 1)经常有需要访谒多个表中字段的情形 2)用子发芽也可以实现膳缦沔的功能,可是效率相当低下

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

    2012年Oracle辅导:全面了解Oracle的连接

    首先仍是声名一下,为什么要使用毗连(join)?原因有两点:

    1)经常有需要访谒多个表中字段的情形

    2)用子发芽也可以实现膳缦沔的功能,可是效率相当低下。使用毗连可以年夜年夜提高效率。

    毗连(Join)的根基结构:

    select ……。 from table1 t1 join table2 t2 on ti.id = t2.id;

    join前后是两个需要毗连的表,on暗示的昵喱接的前提。传统的写法是不使用join关头字,使用where暗示前提:

    select ……。 from table1 t1, table2 t2 where ti.id = t2.id;

    一般是两个表进行毗连,三个表的毗连语法稍有分歧:

    通俗写法:select ……。 from a join b on a.id = b.id

    join c on b.id = c.id;

    传统写法:select ……。 from a, b, c where a.id = b.id and b.id = c.id;

    1,对等毗连

    膳缦沔的就是一种对等毗连,即默认的join体例。特点是只显示毗连的表中存在而且相等的记实。其它的记实均不显示。

    传统的写法也是一种对等毗连,只显示匹配前提的记实。

    2,左/右毗连

    有时需要将进行毗连的其一一个表作为基准显示全数的数据,按照毗连前提在其它表中可能会呈现无法匹配的数据,此时就用空值来庖代。好比显示员工信息时,有的员工可能还没有分配到某个具体的部门(新进员工),其所属部门一项就没稀有据,可是员工仍然需要显示,即员工表数据需要全数显示。

    具体语法:

    select ……。 from table1 t1 left join table2 t2 on ti.id = t2.id; --左毗连

    或

    select ……。 from table1 t1 right join table2 t2 on ti.id = t2.id; --右毗连

    左仍是右的区别,简单地说左(右)毗连就是指join的左(右)边是基准表,全数数据都要显示,按照毗连前提无法进行毗连的记实就用空值庖代。

    好比:

    select e.empno, e.ename, d.dname from emp e left join dept d on e.deptno = d.deptno;

    还没有分配到某个具体的部门的员工的e.deptno必定是没有值的,无法知足“e.deptno = d.deptno”的前提,但因为是左毗连,左边的员工表的数据必然会显示,这时该员工的部门名称就是空值。

    若是right join ……。 on,就暗示部门表的数据全数显示,员工表中无法毗连的数据就是空值庖代,意思就是嗣魅这个部门还没有员工,因为在员工表中没有一标识表记标帜录的deptno与该部门的deptno相匹配(可能是刚刚成立的新部门)

    3,全毗连

    简单说就是摆布毗连的全数暗示,按照毗连前提在肆意一方表中呈现无法匹配的情形,不知足前提的部门均用空值庖代。

    具体语法:

    select ……。 from table1 t1 full join table2 t2 on ti.id = t2.id;

    用2中例子来说,可能有时辰需要把整个公司的员工和部门信息做一个总览,可以对员工表和部门表做一个全毗连:

    select e.empno, e.ename, d.dname from emp e full join dept d on e.deptno = d.deptno;

    就可以知道员工所属的部门以及部门下面的员工,那些新进员工和刚刚成立的新部门也灰庠示在此鱿脯也就是结不美观中有空值的部门。

    但需要注重的是,全毗连的效率斗劲低,凡是不举荐使用。

    PS:

    在Oracle中,对于左/右毗连和全毗连还有一种非凡的暗示体例,使用“(+)”符号,例如:

    select ……。 from table1 t1, table2 t2 where ti.id = t2.id(+); --左毗连

    select ……。 from table1 t1, table2 t2 where ti.id(+) = t2.id; --右毗连

    select ……。 from table1 t1, table2 t2 where ti.id(+) = t2.id(+); --全毗连

    4,自然毗连

    这是Oracle的一种特有的毗连体例。它自动毗连两个表中数据类型和名称不异的字段,然后按照前提自动地将他们毗连起来。

    具体语法:

    select ……。 from table1 t1 left natural join table2 t2;

    好比:

    select emp.ename, dept.dname from emp natural join dept;

    这里并没有指定毗连的前提,现实上oracle自动的将员工表中的deptno和部门表中的deptno做了毗连。

    也就是现实上相当于:

    select emp.ename,dept.dname from emp join dept on emp.deptno = dept.deptno;

    因为这两张表的这两个字段deptno的类型和个名称完全不异。所以使用natural join时被自然的毗连在一路了。

    PS:

    如不美观自然毗连的两个表仅是字段名称不异,但数据类型分歧,那么将会返回一个错误。

全面了解Oracle的连接

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How long will Oracle database logs be kept? How long will Oracle database logs be kept? May 10, 2024 am 03:27 AM

The retention period of Oracle database logs depends on the log type and configuration, including: Redo logs: determined by the maximum size configured with the "LOG_ARCHIVE_DEST" parameter. Archived redo logs: Determined by the maximum size configured by the "DB_RECOVERY_FILE_DEST_SIZE" parameter. Online redo logs: not archived, lost when the database is restarted, and the retention period is consistent with the instance running time. Audit log: Configured by the "AUDIT_TRAIL" parameter, retained for 30 days by default.

Function to calculate the number of days between two dates in oracle Function to calculate the number of days between two dates in oracle May 08, 2024 pm 07:45 PM

The function in Oracle to calculate the number of days between two dates is DATEDIFF(). The specific usage is as follows: Specify the time interval unit: interval (such as day, month, year) Specify two date values: date1 and date2DATEDIFF(interval, date1, date2) Return the difference in days

The order of the oracle database startup steps is The order of the oracle database startup steps is May 10, 2024 am 01:48 AM

The Oracle database startup sequence is: 1. Check the preconditions; 2. Start the listener; 3. Start the database instance; 4. Wait for the database to open; 5. Connect to the database; 6. Verify the database status; 7. Enable the service (if necessary ); 8. Test the connection.

How to use interval in oracle How to use interval in oracle May 08, 2024 pm 07:54 PM

The INTERVAL data type in Oracle is used to represent time intervals. The syntax is INTERVAL <precision> <unit>. You can use addition, subtraction, multiplication and division operations to operate INTERVAL, which is suitable for scenarios such as storing time data and calculating date differences.

How to see the number of occurrences of a certain character in Oracle How to see the number of occurrences of a certain character in Oracle May 09, 2024 pm 09:33 PM

To find the number of occurrences of a character in Oracle, perform the following steps: Get the total length of a string; Get the length of the substring in which a character occurs; Count the number of occurrences of a character by subtracting the substring length from the total length.

How much memory does oracle require? How much memory does oracle require? May 10, 2024 am 04:12 AM

The amount of memory required by Oracle depends on database size, activity level, and required performance level: for storing data buffers, index buffers, executing SQL statements, and managing the data dictionary cache. The exact amount is affected by database size, activity level, and required performance level. Best practices include setting the appropriate SGA size, sizing SGA components, using AMM, and monitoring memory usage.

How to replace string in oracle How to replace string in oracle May 08, 2024 pm 07:24 PM

The method of replacing strings in Oracle is to use the REPLACE function. The syntax of this function is: REPLACE(string, search_string, replace_string). Usage steps: 1. Identify the substring to be replaced; 2. Determine the new string to replace the substring; 3. Use the REPLACE function to replace. Advanced usage includes: multiple replacements, case sensitivity, special character replacement, etc.

Oracle database server hardware configuration requirements Oracle database server hardware configuration requirements May 10, 2024 am 04:00 AM

Oracle database server hardware configuration requirements: Processor: multi-core, with a main frequency of at least 2.5 GHz. For large databases, 32 cores or more are recommended. Memory: At least 8GB for small databases, 16-64GB for medium sizes, up to 512GB or more for large databases or heavy workloads. Storage: SSD or NVMe disks, RAID arrays for redundancy and performance. Network: High-speed network (10GbE or higher), dedicated network card, low-latency network. Others: Stable power supply, redundant components, compatible operating system and software, heat dissipation and cooling system.

See all articles