Pernyataan pertanyaan selang Oracle: 1. penyataan "pilih * daripada nama jadual di mana rownum
Persekitaran pengendalian tutorial ini: sistem Windows 10, Oracle versi 12c, komputer Dell G3.
Oracle menggunakan kata kunci rownum untuk melaksanakan pertanyaan jenis ini:
⾸Mari kita mulakan dengan Katakan terdapat kawasan jadual maklumat serantau, dengan struktur jadual seperti ditunjukkan di bawah:
Data dalam jadual adalah seperti yang ditunjukkan di bawah (hasil pilihan * dari kawasan pernyataan):
1) Soal 8 rekod pertama dalam jadual
select * from area where rownum <= 8
Hasil pertanyaan adalah seperti berikut:
2) Tanya rekod ke-2 hingga ke-8
Untuk bentuk pertanyaan ini, Oracle tidak semudah mysql. Ia mesti dilaksanakan menggunakan subkueri atau operasi set. . Kita boleh menggunakan tiga kaedah berikut untuk mencapai ini:
A: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num between 2 and 8;
Mula-mula, dapatkan jadual sementara berdasarkan id pilih, wilayah, bandar, daerah, rownum sebagai nombor dari kawasan ini jadual sementara. Lajur rownum (lajur pseudo, serupa dengan
rowid, tetapi berbeza daripada rowid, kerana rowid ialah lajur sedia ada secara fizikal, iaitu, mana-mana jadual dalam Oracle mempunyai lajur rowid , ⽽rownum tidak wujud secara fizikal),
dan kemudian tanyakannya dalam jadual sementara.
B: select * from area where rownum <= 8 minus select * from area where rownum < 2;
Gunakan operator tolak set, yang mengembalikan rekod yang muncul dalam pilihan pertama tetapi tidak dalam pilihan kedua.
C: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num >=2 intersect
pilih * dari kawasan di mana rownum
Gunakan operator persimpangan yang ditetapkan bersilang, yang mengambil lencongan (tetapi lencongan ini melaksanakan rownum lebih besar daripada Pertanyaan nombor tertentu ), ia mula-mula menggunakan kaedah A untuk membuat pertanyaan untuk mendapatkan semua rekod dengan
rownum lebih besar daripada 2, dan kemudian melakukan operasi persilangan dengan set rekod dengan rownum kurang daripada atau sama dengan 8. Keputusan yang diperolehi oleh tiga operasi adalah sama, seperti yang ditunjukkan dalam rajah di bawah:
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Apakah pernyataan pertanyaan selang Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!