Rumah >pangkalan data >Oracle >Pembelajaran Oracle menggunakan kata kunci (contoh terperinci)

Pembelajaran Oracle menggunakan kata kunci (contoh terperinci)

WBOY
WBOYke hadapan
2022-03-02 18:05:282848semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang Oracle Terutamanya ia memperkenalkan pengetahuan yang berkaitan tentang penggunaan kata kunci Anda boleh menggunakan kata kunci penggunaan untuk memudahkan pertanyaan sambungan.

Pembelajaran Oracle menggunakan kata kunci (contoh terperinci)

Tutorial yang disyorkan: "Tutorial Oracle"

Di tempat kerja, saya melihat pernyataan SQL yang serupa dengan yang berikut:

select 
    tb.usrnm, 
    tb.typ, 
    tb.oprorder 
    from tb
    inner join rb1
    using (stfaprid) 
    where tb1.jugsumid = #jugsumid# 
    and tb1.blnorg = #blnorg# 
    and isvld = '1' 
    order by tb.typ asc, tb.oprorder asc

Standard sql/92 boleh menggunakan kata kunci menggunakan untuk memudahkan pertanyaan sambungan, tetapi hanya apabila pertanyaan memenuhi dua syarat berikut, kata kunci menggunakan boleh digunakan untuk memudahkan.

  • 1. Pertanyaan mestilah gabungan ekui.
  • 2. Lajur dalam equijoin mesti mempunyai nama dan jenis data yang sama.

Contohnya: gunakan kata kunci menggunakan, seperti berikut:

select emptno,ename,sal,deptno,dname from emp e inner join dept d using(deptno);

Jika pernyataan di atas dilaksanakan, hasilnya adalah sama dengan hasil sambungan semula jadi.
Apabila menggunakan kata kunci menggunakan untuk memudahkan sambungan, anda perlu memberi perhatian kepada perkara berikut:

  • 1. Apabila menggunakan lajur deptno dalam jadual emp dan jadual dept untuk menyambung, dalam klausa menggunakan dan pilih klausa , anda tidak boleh menentukan nama jadual atau alias jadual untuk lajur deptno.
  • 2. Jika berbilang lajur yang sama dalam dua jadual digunakan dalam pertanyaan sambungan, maka anda boleh menentukan berbilang nama lajur dalam klausa penggunaan

Borangnya adalah seperti berikut:

select... from table1 inner join table2 using(column1,column2)

Pernyataan di atas adalah bersamaan dengan pernyataan berikut:

select... from table1 inner join table2
on table1.column1=table2.column2
and table1.column2=table2.column2;

Jika berbilang jadual diambil, anda mesti menggunakan kata kunci menggunakan beberapa kali untuk menentukan, dalam bentuk berikut:

select... from table1
inner join table2 using(column1)
inner join table3 using(column2);

Pernyataan di atas adalah bersamaan dengan pernyataan berikut:

select... from table1,table2,table3
where table1.column1=table2.column1
and table2.column2=table3.column2;

Fikir semula menggunakan

Kata kunci menggunakan dalam sambungan gabungan dalam Oracle adalah relatif kepada gabungan semula jadi .
Kami menyebut sebelum ini bahawa jika natraul join digunakan, dan jika terdapat berbilang medan dengan nama dan jenis data yang sama dalam dua jadual, maka medan ini akan disambungkan oleh Oracle atas inisiatifnya sendiri.
Tetapi sebenarnya, kadang-kadang kita tidak perlu berhubung seperti ini. Kita hanya perlu memilih satu atau dua medan berbilang mereka dengan nama dan jenis data yang sama. Pada masa ini kita perlu menggunakan kata kunci menggunakan. Di bawah adalah contoh.
Terdapat jadual untuk jualan dan jadual untuk kos Terdapat dua medan dalam kedua-dua jadual ini iaitu pro_id dan time_id. Kami tidak akan mempertimbangkan maksud sebenar sambungan berikut buat masa ini, dan hanya melakukan penyelidikan tatabahasa.
Jika anda menggunakan sambungan semula jadi, secara lalai, kedua-dua medan akan disambungkan bersama secara semula jadi. Keputusan yang diperolehi oleh

Select * from Sales natural join costs;

dan

Select * from Sales join costs on Sales.prod_id = costs.prod_id and sales.time_id = costs.time_id

dan

Select * from Sales ,costs Where Sales.pro_id = cost.prod_id
and sales.time_id = costs.time_id

hendaklah sama.
Jika kami menggunakan gabungan semula jadi, tiada peluang untuk mengawal syarat gabungan secara semula jadi dengan dua medan dengan jenis data dan nama yang sama atas inisiatifnya sendiri.
Seterusnya kita menggunakan kata kunci menggunakan.

Select * from Sales join costs using(prod_id)

Ini memaksa Oracle menggunakan medan yang ditunjuk dengan menggunakan untuk menyambung, bukannya dua lalai dalam sambungan gabungan semula jadi.
Sila ambil perhatian bahawa pernyataan SQL di sini tidak bermakna Ia hanyalah contoh yang tidak masuk akal untuk menggambarkan penggunaan penggunaan.
Apa yang perlu dijelaskan di sini ialah:
Jika anda menggunakan kata kunci menggunakan, dan item senarai hasil pilih mengandungi kata kunci yang ditentukan oleh kata kunci menggunakan, maka sila jangan masukkannya dalam item senarai hasil pilih. Nyatakan jadual mana kata kunci itu tergolong sebagai contoh, jika menggunakan (prod_id) digunakan dan medan prod_id hendak dimasukkan dalam senarai hasil, sila jangan tuliskannya sebagai sales.prod_id atau cost.prod_id tetapi tulis sebagai prod_id, dan jangan gunakan alias. Hanya gunakan borang prod_id sebagai "nombor produk", contohnya.

  • Hanya satu nama lajur boleh digunakan dalam penggunaan.
  • Kata kunci gabungan semula jadi dan kata kunci yang digunakan adalah saling eksklusif, yang bermaksud kata kunci itu tidak boleh muncul pada masa yang sama.

Tutorial yang disyorkan: "Tutorial Video Oracle"

Atas ialah kandungan terperinci Pembelajaran Oracle menggunakan kata kunci (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam