Rumah >pangkalan data >Oracle >Pembelajaran Oracle menggunakan kata kunci (contoh terperinci)
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.
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.
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:
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;
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.
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!