Rumah pangkalan data tutorial mysql Oracle数据库之SQL连接查询

Oracle数据库之SQL连接查询

Jun 07, 2016 pm 05:28 PM
pertanyaan sql

现实中有这么一种需求,有时候我们需要查询的数据是在多个表中的,那么如何从多个表中查询数据呢?这就需要通过表的连接来实现查询

前言

现实中有这么一种需求,有时候我们需要查询的数据是在多个表中的,那么如何从多个表中查询数据呢?这就需要通过表的连接来实现查询了。

笛卡尔积

在定义连接之前我们需要简单的了解一下笛卡尔积,笔者不会纠结与其定义,只是看看其实际效果

其实笛卡尔积就是没有连接条件或者连接条件无效的连接,例如:

select *from emp ,dept;--其结果倾向于一个巨大的记录数,无实际意义

上面可以看出笛卡尔积得出的是一个巨大的无意义的记录集合,我们可以通过在where子句中使用有效的连接来避免这种情况,使之具有实际意义。

连接定义

就是在笛卡尔积的基础上使用连接条件,例如根据两个表的相同列进行连接。若果要进行n个表的连接那么就的添加n-1个连接条件。例如:

select *from emp ,dept where emp.deptno = dept.deptno;

连接类型

连接主要有两种类型等值连接、非等值连接.

还包括一些其他的连接方式:多连接、自连接、 定置运算符

等值连接

上面已经使用过了,即是表连接的where条件是一个表的列等于另一个表的列,通常情况下是主键和外键的判等连接。

select *from emp ,dept where emp.deptno = dept.deptno;

Tips:因为deptno在两个表中都存在,所以要使用表.字段的形式,否则Oracle认为其歧义

等值连接中同样还可以添加约束条件

select *from emp ,dept where emp.deptno = dept.deptno and emp.ename ='CLARK';

--结果只取一条记录

同样可以定义标的别名,不过需要注意的是定义了别名之后,,必须通过别名访问字段,不能通过表明来访问了

select *from emp e ,dept d where e.deptno = d.deptno and e.ename ='CLARK';

非等值连接

通过观察scott用户下的emp表和salgrade表,可以知道的是他们之间没有直接的对应项,而是

emp的sal列的值在salgrade表中的LOSAL和HISAL之间,他们不是等值连接。

select * from emp e,salgrade s where e.sal between s.losal and s.hisal;

linux

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Soalan temu bual Meituan: Pernahkah anda menghadapi SQL yang perlahan? Bagaimana ia diselesaikan? Soalan temu bual Meituan: Pernahkah anda menghadapi SQL yang perlahan? Bagaimana ia diselesaikan? Aug 24, 2023 pm 03:41 PM

Log pertanyaan lambat MySQL ialah rekod log yang disediakan oleh MySQL Ia digunakan untuk merekod pernyataan dalam MySQL yang masa pertanyaannya melebihi (lebih daripada) ambang yang ditetapkan (long_query_time) dan merekodkannya dalam log pertanyaan perlahan.

PHP dan PDO: Bagaimana untuk melaksanakan pertanyaan SQL yang kompleks PHP dan PDO: Bagaimana untuk melaksanakan pertanyaan SQL yang kompleks Jul 28, 2023 pm 03:43 PM

PHP dan PDO: Bagaimana untuk melaksanakan pernyataan pertanyaan SQL yang kompleks Apabila memproses operasi pangkalan data, PHP menyediakan perpustakaan sambungan yang berkuasa PDO (PHPDataObjects) untuk memudahkan interaksi dengan pangkalan data. PDO menyokong pelbagai pangkalan data, seperti MySQL, SQLite, dsb., dan juga menyediakan pelbagai fungsi dan kaedah untuk memudahkan pembangun melaksanakan pelbagai operasi pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PDO untuk melaksanakan pernyataan pertanyaan SQL yang kompleks dan melampirkan contoh kod yang sepadan. Sambung ke pangkalan data

Apakah operasi jadual biasa dalam pengaturcaraan PHP? Apakah operasi jadual biasa dalam pengaturcaraan PHP? Jun 12, 2023 am 09:46 AM

Dalam pembangunan Web, jadual adalah elemen yang paling asas dan biasa digunakan, dan PHP ialah bahasa pengaturcaraan sebelah pelayan yang popular Terdapat banyak teknik dan kaedah biasa dalam operasi jadual. Artikel ini akan memperkenalkan operasi jadual biasa dalam pengaturcaraan PHP. Memaparkan jadual data Dalam PHP, anda boleh menggunakan teg jadual dalam HTML untuk memaparkan jadual data Perlu diingat bahawa jadual mesti dijana dalam skrip PHP. Berikut ialah contoh teg jadual HTML asas: <table><tr>

Mengapakah ralat program Go saya semasa melaksanakan pertanyaan SQL? Mengapakah ralat program Go saya semasa melaksanakan pertanyaan SQL? Jun 09, 2023 pm 06:10 PM

Dalam pengaturcaraan Go, menggunakan pertanyaan SQL adalah tugas biasa. Walau bagaimanapun, kadangkala ralat berlaku semasa melaksanakan pertanyaan SQL, menyebabkan program gagal dilaksanakan dengan betul. Untuk menyelesaikan ralat ini, kita perlu mempunyai pemahaman yang mendalam tentang cara pertanyaan SQL dan bahasa Go berinteraksi. Di bawah adalah beberapa kemungkinan ralat dan penyelesaian yang sepadan. Kekurangan pemacu pangkalan data Dalam bahasa Go, anda perlu menggunakan pemacu pangkalan data khusus untuk menyambung dan mengendalikan pangkalan data. Jika anda cuba melakukan pertanyaan pangkalan data dan pemacu pangkalan data tidak dipasang dan dikonfigurasikan dengan betul

Bagaimana untuk mengoptimumkan pernyataan pertanyaan SQL dan penggunaan indeks dalam pembangunan PHP? Bagaimana untuk mengoptimumkan pernyataan pertanyaan SQL dan penggunaan indeks dalam pembangunan PHP? Nov 02, 2023 pm 12:12 PM

Bagaimana untuk mengoptimumkan pernyataan pertanyaan SQL dan penggunaan indeks dalam pembangunan PHP? Dalam pembangunan PHP, pertanyaan pangkalan data adalah operasi yang sangat biasa. Walau bagaimanapun, apabila jumlah data meningkat, prestasi pertanyaan mungkin terjejas, menyebabkan aplikasi menjadi perlahan. Untuk meningkatkan prestasi pertanyaan, kami perlu mengoptimumkan penggunaan pernyataan dan indeks pertanyaan SQL. Artikel ini akan memperkenalkan beberapa petua pengoptimuman dan amalan terbaik untuk membantu anda meningkatkan prestasi pertanyaan SQL dalam pembangunan PHP. 1. Gunakan indeks yang betul: Indeks ialah bahagian penting dalam pangkalan data untuk meningkatkan prestasi pertanyaan. dalam data reka bentuk

Contoh penggunaan pernyataan pertanyaan PHP Contoh penggunaan pernyataan pertanyaan PHP Mar 23, 2024 am 11:27 AM

PHP ialah bahasa skrip sebelah pelayan yang berkuasa yang digunakan secara meluas dalam pembangunan web. Dalam pembangunan web, kita sering perlu berinteraksi dengan pangkalan data dan melaksanakan pernyataan pertanyaan untuk mendapatkan data. Artikel ini akan memperkenalkan anda kepada cara menulis pernyataan pertanyaan dan contoh penggunaan dalam PHP. 1. Sambung ke pangkalan data Sebelum menggunakan PHP untuk menanyakan pangkalan data, anda perlu membuat sambungan dengan pangkalan data terlebih dahulu. Secara amnya, kami akan menggunakan pangkalan data MySQL sebagai contoh Kod untuk menyambung ke pangkalan data adalah seperti berikut: $servername=

Bagaimana untuk menangani ralat pertanyaan SQL dalam pembangunan bahasa PHP? Bagaimana untuk menangani ralat pertanyaan SQL dalam pembangunan bahasa PHP? Jun 09, 2023 pm 06:13 PM

Bahasa PHP ialah bahasa skrip sebelah pelayan yang biasa digunakan dalam bidang seperti pembangunan laman web. Dalam pembangunan bahasa PHP, pertanyaan SQL adalah operasi biasa, tetapi disebabkan pelbagai sebab, pertanyaan SQL boleh menyebabkan ralat. Oleh itu, pembangun perlu mengendalikan ralat ini dalam kod mereka untuk memastikan kestabilan dan ketepatan aplikasi. Secara umumnya, terdapat beberapa cara biasa untuk mengendalikan ralat pertanyaan SQL dalam bahasa PHP: 1. Gunakan blok cuba/tangkap untuk mengendalikan pengecualian Dalam bahasa PHP, anda boleh menggunakan cuba/tangkap

Kebanyakan amalan pengoptimuman kecekapan pertanyaan SQL dalam pengaturcaraan PHP Kebanyakan amalan pengoptimuman kecekapan pertanyaan SQL dalam pengaturcaraan PHP Jun 23, 2023 am 10:37 AM

Dengan perkembangan teknologi rangkaian, pengaturcaraan PHP telah menjadi arus perdana pembangunan laman web untuk banyak syarikat. Dalam pengaturcaraan PHP, kecekapan pertanyaan SQL adalah isu yang memerlukan setiap pengaturcara untuk memberi perhatian dan menanganinya. Pertanyaan SQL yang tidak cekap boleh menyebabkan tindak balas tapak web yang perlahan, beban sistem yang tinggi atau kesan tidak mesra yang lain. Oleh itu, artikel ini akan menumpukan pada memperkenalkan pelbagai amalan pengoptimuman kecekapan pertanyaan SQL dalam pengaturcaraan PHP untuk meningkatkan kecekapan pelaksanaan program dan kelajuan tindak balas keseluruhan sistem. Indeks pangkalan data Indeks pangkalan data ialah kaedah asas untuk meningkatkan kelajuan pertanyaan pangkalan data

See all articles