KomputerPengaturcaraan

Operator SQL INNER JOIN: contoh sintaks dan ciri-ciri

Membangunkan mana-mana pangkalan data termasuk bukan sahaja mewujudkan dan mengisi jadual dengan pelbagai maklumat, tetapi juga kerja lagi dengan data. Untuk betul melaksanakan pelbagai tugas pada pilihan data daripada jadual dan laporan, menggunakan Pilih reka bentuk standard.

Mengambil data daripada jadual

Jika kita mengambil kira masalah pilihan data atau pembinaan laporan, anda boleh menentukan tahap kerumitan operasi. Sebagai peraturan, apabila berurusan dengan serius (mengikut isipadu) pangkalan data, yang terbentuk, sebagai contoh, di kedai-kedai dalam talian atau syarikat-syarikat besar, pemilihan data tidak terhad kepada jadual tunggal. Sebagai peraturan, sampel yang berkenaan daripada nombor yang agak besar jadual bukan sahaja dikaitkan, tetapi juga bersarang pertanyaan / sub-pertanyaan, yang menjadikan programmer, bergantung kepada tugasnya. Untuk sampel satu meja boleh menggunakan struktur yang paling mudah:

Pilih * dari Orang

mana Orang - nama jadual yang anda ingin mendapatkan semula data.

Jika, bagaimanapun, anda akan perlu untuk memilih data daripada berbilang jadual, salah satu reka bentuk standard boleh digunakan untuk menyertai berbilang jadual.

menyambung Kaedah jadual tambahan

Jika kita mengambil kira penggunaan struktur tersebut di peringkat sekolah rendah, kita boleh membezakan mekanisme berikut untuk menyambung nombor yang diperlukan untuk jadual sampel, iaitu:

  1. Operator Inner Sertai.
  2. Kiri Sertai atau, ia adalah kaedah rakaman kedua, Kiri Outer Sertai.
  3. Cross Sertai.
  4. Penuh Sertai.

Menggunakan operator untuk menyertai jadual dalam amalan, anda boleh belajar dengan mempertimbangkan penggunaan penyata SQL - Inner Sertai. Contoh penggunaannya adalah seperti berikut:

Pilih * dari Orang

Inner menyertai Subdivision pada Su_Person = Pe_ID

SQL bahasa dan Sertai Inner Sertai operator boleh digunakan bukan sahaja untuk menggabungkan dua atau lebih jadual, tetapi juga untuk menyambung sub-pertanyaan lain, yang amat memudahkan kerja-kerja pentadbir pangkalan data, dan, sebagai peraturan, boleh mempercepatkan pelaksanaan khusus, struktur pertanyaan rumit.

Menggabungkan data dalam jadual baris demi baris

Jika kita menganggap sambungan sebilangan besar sub-pertanyaan, dan data dipasang ke dalam baris jadual tunggal melalui talian, anda juga boleh menggunakan Union pengendali dan Union Semua.

Penggunaan struktur ini akan bergantung kepada pemaju untuk menetapkan objektif dan keputusan yang dia mahu mencapai pada akhirnya.

Penerangan Inner Sertai operator

Dalam kebanyakan kes, untuk menggabungkan berbilang jadual dalam bahasa SQL yang digunakan oleh Inner Sertai operator. Penerangan Inner Sertai dalam SQL adalah agak mudah difahami programmer biasa yang hanya mula memahami pangkalan data. Jika kita mengambil kira perihal mekanisme kerja struktur ini, kita akan mendapat gambar berikut. Pengendali logik secara keseluruhannya dibina di atas lintasan dan kemungkinan pensampelan hanya data yang di dalam setiap jadual termasuk dalam pertanyaan.

Jika kita melihat jenis ini kerja dari segi tafsiran grafik, kita mendapatkan SQL Inner Sertai struktur pengendali, satu contoh yang boleh ditunjukkan oleh skim berikut:

Sebagai contoh, kita mempunyai dua jadual, ditunjukkan secara skema dalam rajah. Mereka, sebaliknya, mempunyai nombor yang berbeza penyertaan. Dalam setiap jadual mempunyai medan yang berkaitan. Jika kita cuba untuk menjelaskan kerja-kerja pengendali berdasarkan lukisan, hasil yang dikembalikan akan menjadi satu set rekod daripada dua jadual, di mana bilik mempunyai bidang saling bertepatan. Ringkasnya, pertanyaan kembali hanya rekod (bilangan membentangkan dua), yang data dalam jadual nombor satu.

Sintaks Inner Sertai

Seperti yang dinyatakan sebelum ini, pengendali Inner Sertai iaitu sintaksis, yang luar biasa yang mudah. Untuk organisasi perhubungan antara jadual dalam sampel tunggal yang memadai untuk mengingati dan menggunakan gambar rajah skema berikut pembinaan pengendali, yang ditetapkan dalam satu baris perisian SQL-kod, iaitu:

  • Inner Sertai [Nama Table] pada [a medan kunci meja untuk yang menghubungkan] = [medan kunci boleh pasang jadual].

Untuk komunikasi dalam kenyataan ini adalah jadual kekunci terutamanya digunakan. Sebagai peraturan, dalam kumpulan jadual yang menyimpan maklumat tentang pekerja, yang sebelum ini digambarkan Orang Subdivision dan mempunyai sekurang-kurangnya satu rekod yang sama. Jadi, mengambil melihat dengan lebih dekat pengendali SQL Inner Sertai, contoh yang telah ditunjukkan sedikit lebih awal.

Huraian CONTOH dan sambungan ke meja sampel audio

Kami mempunyai jadual Orang, yang menyimpan maklumat tentang semua pekerja yang bekerja dalam syarikat itu. Hanya ambil perhatian bahawa kunci induk meja adalah satu bidang yang - Pe_ID. Hanya di atasnya dan akan sebuah bungkusan.

Jadual Subdivision kedua akan menyimpan maklumat mengenai pejabat-pejabat di mana pekerja bekerja. Dia pula, disambungkan melalui medan Su_Person Rajah Orang. Apa maknanya? Berdasarkan skema data boleh dikatakan bahawa dalam unit jadual bagi setiap rekod dalam jadual "Pekerja" akan maklumat tentang jabatan di mana mereka bekerja. Ia adalah untuk komunikasi ini dan akan bekerja operator Inner Sertai.

Untuk kegunaan yang lebih intuitif mempertimbangkan pengendali SQL Inner Sertai (contoh kegunaannya untuk satu atau dua jadual). Jika kita mengambil kira contoh meja yang sama, maka semua adalah agak mudah:

Pilih * dari Orang

Inner menyertai Subdivision pada Su_Person = Pe_ID

CONTOH menyambung dua jadual dan subquery

Operator SQL Inner Sertai, contoh-contoh yang digunakan untuk mengambil data daripada berbilang jadual boleh diuruskan dengan cara di atas, ia berfungsi pada komplikasi sedikit prinsip. Untuk merumitkan tugas kedua-dua jadual. Sebagai contoh, kita mempunyai jadual Berangkat yang menyimpan maklumat tentang semua jabatan di setiap bahagian. Dalam jadual ini mencatatkan jumlah bahagian dan nombor pekerja, dan mesti ditambah dengan nama data sampel setiap jabatan. Memandang ke hadapan, ia adalah bernilai mengatakan bahawa anda boleh menggunakan dua kaedah untuk menyelesaikan masalah ini.

Cara pertama adalah untuk menyambung Rajah jabatan untuk mencuba. Menyusun permintaan dalam kes ini boleh menjadi seperti berikut:

Pilih Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name daripada Orang

Inner menyertai Subdivision pada Su_Person = Pe_ID

Inner menyertai Berangkat pada Su_Depart = Dep_ID dan Pe_Depart = Dep_ID

Kaedah kedua untuk menyelesaikan masalah tersebut - adalah dengan menggunakan subquery di mana tidak semua data akan dipilih dari jadual jabatan itu, tetapi hanya yang diperlukan. Ini adalah berbeza dengan kaedah yang pertama, ia akan mengurangkan masa permintaan itu.

Pilih Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name daripada Orang

Inner menyertai Subdivision pada Su_Person = Pe_ID

Inner menyertai (Pilih Dep_ID, Dep_Name, Pe_Depart dari Berangkat) sebagai T pada Su_Depart = Dep_ID dan Pe_Depart = Dep_ID

Perlu diingat bahawa perjanjian tersebut tidak boleh sentiasa mempercepatkan permintaan kerja. Kadang-kadang terdapat kes-kes apabila ia adalah perlu untuk menggunakan data sampel tambahan ke dalam jadual sementara (jika jumlah yang terlalu besar), dan kemudian ia telah digabungkan dengan sampel utama.

Contoh penggunaan Inner Sertai pengendali untuk sampel daripada sebilangan besar jadual

pembinaan melibatkan penggunaan pertanyaan kompleks untuk sejumlah besar sampel jadual data dan subqueries saling. Keperluan ini boleh memenuhi SQL Inner Sertai sintaksis. Contoh penggunaan pengendali, dalam kes ini boleh menjadi rumit bukan sahaja sampel tempat simpanan banyak, tetapi juga dengan sejumlah besar subqueries bersarang. Untuk contoh yang konkrit, anda boleh mengambil data daripada sampel jadual sistem (Inner Sertai kenyataan SQL). Contoh - 3 dari meja - dalam kes ini akan mempunyai struktur yang agak kompleks.

Dalam kes ini disambungkan (jadual primer) dan tiga beberapa syarat pemilihan data lagi diperkenalkan.

Apabila menggunakan Inner Sertai operator harus ingat bahawa lebih kompleks pertanyaan, semakin lama ia akan dilaksanakan, jadi anda perlu mencari jalan untuk lebih cepat melaksanakan dan menyelesaikan masalah.

kesimpulan

Akhirnya, saya ingin katakan satu perkara: bekerja dengan pangkalan data - ia bukan perkara yang paling sukar dalam pengaturcaraan, jadi jika anda mahu setiap orang akan dapat memperoleh pengetahuan untuk membina pangkalan data, dan dari masa ke masa, mendapat pengalaman, anda boleh bekerja dengan mereka di peringkat profesional .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.delachieve.com. Theme powered by WordPress.