Rumah > pangkalan data > Oracle > Apakah kegunaan gabungan dalam oracle

Apakah kegunaan gabungan dalam oracle

WBOY
Lepaskan: 2022-03-07 16:15:04
asal
17931 orang telah melayarinya

Dalam Oracle, perintah gabungan boleh melakukan operasi sisipan dan kemas kini pada jadual pada masa yang sama dalam satu pernyataan SQL INTO merge" Jadual sasaran MENGGUNAKAN jadual sumber gabungan DENGAN syarat".

Apakah kegunaan gabungan dalam oracle

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.

Apakah kegunaan gabungan dalam oracle

arahan gabungan

Melalui gabungan ini anda boleh melakukan sisipan dan kemas kini pada jadual dalam satu pernyataan SQL pada masa yang sama

Menggunakan pernyataan gabungan, anda boleh melakukan operasi gabungan pada dua jadual yang ditentukan Sintaksnya adalah seperti berikut:

MEGER INTO table1_name
USING table2_name ON join_condition
WHEN MATCHEO THEN UPDATE SET...
WHEN NOT MATCHED THEN INSERT ...VALUES...
Salin selepas log masuk

Sintaks adalah seperti berikut:

table1_name mewakili nama. jadual sasaran yang perlu digabungkan.

table2_name menunjukkan jadual sumber yang perlu digabungkan.

join_condition mewakili syarat gabungan.

apabila matcheo kemudian kemas kini bermakna jika syarat untuk penggabungan dipenuhi, operasi kemas kini akan dilakukan.

apabila tidak dipadankan maka masukkan bermakna jika syarat tidak dipenuhi, operasi sisipan akan dilakukan.

kemas kini dan masukkan

Jika anda hanya ingin menggabungkan data yang layak dalam jadual sumber ke dalam jadual sasaran, anda hanya boleh menggunakan klausa kemas kini Jika anda ingin menggabungkan data dalam jadual sumber yang tidak memenuhi syarat cantuman Untuk menggabungkan data ke dalam jadual sasaran, anda hanya boleh menggunakan klausa sisipan.

Dalam kedua-dua klausa kemas kini dan klausa sisipan, anda boleh menggunakan klausa where untuk menentukan syarat untuk sisipan dikemas kini. Pada masa ini, untuk operasi cantuman, dua peringkat syarat penapisan disediakan Peringkat pertama ialah syarat cantum, yang ditentukan oleh klausa on dalam klausa penggabungan, dan peringkat kedua ialah keadaan tempat yang dinyatakan dalam klausa kemas kini atau sisipan. . Ini menjadikan operasi gabungan lebih fleksibel dan canggih.

Di sini kita mencipta dua jadual, satu jadual orang dan satu lagi jadual orang baharu Struktur kedua-dua jadual adalah sama

SQL> create table person(
2  pid number(4),
3  page number(3)
4  );
Salin selepas log masuk

Jadual telah dibuat.

--Masukkan tiga baris data

SQL> insert into person values(1,20);
Salin selepas log masuk

1 baris telah dibuat.

SQL> insert into person values(2,21);
Salin selepas log masuk

1 baris dibuat.

SQL> insert into person values(3,22);
Salin selepas log masuk

1 baris dibuat.

SQL> create table newperson(
2  pid number(4),
3  page number(3)
4  );
Salin selepas log masuk

Jadual dibuat.

--插入三行数据
SQL> insert into newperson values(1,100);
Salin selepas log masuk

1 baris dibuat.

SQL> insert into newperson values(4,100);
Salin selepas log masuk

1 baris dibuat.

SQL> insert into newperson values(5,100);
Salin selepas log masuk

1 baris dibuat.

SQL> select * from person;
PID       PAGE
---------- ----------
1         20
2         21
3         22
SQL> select * from newperson;
PID       PAGE
---------- ----------
1        100
4        100
5        100
SQL> merge into person p1
2  using newperson p2
3  on (p1.pid=p2.pid)
4  when matched then
5    update set p1.page=p2.page
6  when not matched then
7    insert (pid,page) values(p2.pid,p2.page);
Salin selepas log masuk

3 baris telah digabungkan.

--Pernyataan sql di atas ialah apabila pid secara peribadi adalah sama dengan pid dalam orang baharu, tetapkan halaman yang sepadan secara peribadi kepada umur dalam orang baharu Apabila ia tidak sepadan, masukkan syarat tidak layak kepada orang data. Keputusan pelaksanaan adalah seperti berikut:

SQL> select * from person;
PID       PAGE
---------- ----------
1        100
2         21
3         22
5        100
4        100
--newperson表中的数据不会改变:
SQL> select * from newperson;
PID       PAGE
---------- ----------
1        100
4        100
5        100
Salin selepas log masuk

Tutorial yang disyorkan: "Tutorial Video Oracle"

Atas ialah kandungan terperinci Apakah kegunaan gabungan dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan