Rumah  >  Artikel  >  pangkalan data  >  Apakah pernyataan pertanyaan selang Oracle?

Apakah pernyataan pertanyaan selang Oracle?

WBOY
WBOYasal
2022-06-10 17:09:183491semak imbas

Pernyataan pertanyaan selang Oracle: 1. penyataan "pilih * daripada nama jadual di mana rownum

Apakah pernyataan pertanyaan selang Oracle?

Persekitaran pengendalian tutorial ini: sistem Windows 10, Oracle versi 12c, komputer Dell G3.

Apakah pernyataan pertanyaan selang Oracle?

Oracle menggunakan kata kunci rownum untuk melaksanakan pertanyaan jenis ini:

Apakah pernyataan pertanyaan selang Oracle?

⾸Mari kita mulakan dengan Katakan terdapat kawasan jadual maklumat serantau, dengan struktur jadual seperti ditunjukkan di bawah:

Apakah pernyataan pertanyaan selang Oracle?

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:

Apakah pernyataan pertanyaan selang Oracle?

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:

Apakah pernyataan pertanyaan selang Oracle?

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!

Kenyataan:
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