KomputerProgramming

Operator SQL jero gabung: conto rumpaka sarta fitur

Ngamekarkeun database sagala ngawengku lain ngan kreasi sarta keusikan tabel kalawan rupa informasi, tapi ogé karya salajengna kalawan data. Pikeun neuleu nedunan rupa-rupa pancén dina pilihan data tina tabel sarta ngalaporkeun, nganggo Pilih design baku.

Dipulut data tina tabel

Lamun urang nganggap masalah pilihan data atawa pangwangunan laporan, anjeun bisa nangtukeun tingkat pajeulitna operasi. Sakumaha aturan, nalika kaayaan serius (nurutkeun volume) basis data, anu kabentuk, contona, di toko online atanapi pausahaan badag, Pilihan data henteu dugi ka méja tunggal. Sakumaha aturan, sampel bisa jadi tina sababaraha anu cukup badag tabel teu ukur dikaitkeun, tapi ogé nested queries / sub-queries, nu ngajadikeun programmer, gumantung kana tugas na. Pikeun sampel hiji méja bisa migunakeun struktur pangbasajanna:

Pilih * ti Jalma

dimana Jalma - nami tabel ti nu rék nyieun dimeunangkeun data.

Lamun kitu, anjeun bakal kedah milih data ti sababaraha tabel, salah sahiji desain baku bisa dipake keur gabung sababaraha tabel.

kumaha nyambungkeun Metode tabel tambahan

Lamun urang nganggap pamakéan struktur sapertos di tingkat primér, urang tiasa ngabedakeun mékanisme handap pikeun nyambungkeun jumlahna diperlukeun keur tabel sample, nyaéta:

  1. Operator Batin Gabung.
  2. Kenca Gabung atanapi, éta nya éta métode rekaman kadua, Kénca Outer Gabung.
  3. Cross Gabung.
  4. Gabung pinuh.

Ngagunakeun operator pikeun gabung tabel dina praktekna, anjeun tiasa diajar ku cara tempo pamakean pernyataan SQL - Batin Gabung. Conto pamakéan na bakal jadi kieu:

Pilih * ti Jalma

Batin gabung Subdivision on Su_Person = Pe_ID

Basa SQL na Gabung Batin Gabung operator bisa dipaké teu ngan ukur pikeun ngagabungkeun dua atawa leuwih tabel, tapi ogé pikeun nyambungkeun sub-queries lianna, nu greatly facilitates karya pangurus database, jeung, sakumaha aturan, nyata bisa ngagancangkeun palaksanaan, struktur query husus pajeulit.

Ngagabungkeun data dina garis tabel ku garis

Lamun urang nganggap nu sambungan tina angka nu gede ngarupakeun sub-queries, sarta data dirakit kana garis tabel tunggal ku garis, Anjeun ogé bisa migunakeun Uni operator jeung Uni Sadaya.

Pamakéan struktur ieu bakal gumantung kana pamekar ka diatur tujuan sarta hasil anu anjeunna hayang ngahontal dina tungtungna.

Pedaran Batin Gabung operator

Dina kalolobaan kasus, mun ngagabungkeun sababaraha tabel di basa SQL dipaké ku Batin Gabung operator. Pedaran Batin Gabung di SQL geus rada gampang neuleuman programmer rata anu ngan dimimitian neuleuman basis data. Lamun urang nganggap nu pedaran mékanisme gawé struktur ieu, urang meunangkeun gambar handap. Logika operator sakabéhna anu diwangun dina pameuntasan sarta kamungkinan sampling ukur data nu aya dina unggal tabel kaasup dina pamundut ti.

Lamun urang perhatikan jenis ieu karya dina watesan interpretasi grafis, urang ménta SQL Batin Gabung struktur operator, conto anu bisa ditémbongkeun ku skéma handap:

Contona, urang boga dua tabel, ditémbongkeun schematically di angka. Aranjeunna, kahareupna boga sababaraha éntri. Dina masing-masing tina tabel boga sawah nu patali. Mun urang coba terangkeun hasil karya ti operator dina dasar gambar éta, hasil balik bakal susunan rékaman tina dua tabel, dimana di kamar anu widang interconnected coincide. Kantun nempatkeun, pamundut nu mulih ukur pamadegan rékaman (dina tabel angka dua), anu data aya dina jumlah hiji méja.

The rumpaka tina Batin Gabung

Sakumaha didadarkeun di saméméhna, anu operator Batin Gabung, nyaéta, rumpaka na, unusually basajan. Pikeun organisasi hubungan antara tabel dina sampel tunggal bakal suffice inget tur make handap diagram schematic tina konstruksi tina operator, nu geus prescribed dina garis tunggal software SQL-kode, nyaéta:

  • Batin Gabung [Table Ngaran] on [widang konci tina tabel nu nyambung] = [widang konci pluggable meja].

Pikeun komunikasi dina pernyataan ieu téh kenop tabel utamana dipaké. Sakumaha aturan, dina grup tabel nu nyimpen informasi ngeunaan karyawan, saméméhna dijelaskeun Jalma Subdivision tur mibanda sahanteuna hiji catetan nu sarupa. Ku kituna, cokot langkung caket ka operator SQL Batin Gabung, conto anu geus ditémbongkeun saeutik baheula.

pedaran conto na sambungan kana méja sampel audio

Simkuring boga méja Jalma, nu nyimpen informasi ngeunaan sagala karyawan gawe dina pausahaan. Ngan dicatet yén konci master of tabél téh sawah - Pe_ID. Ngan dina eta na bakal balik kebat a.

Kaduana Subdivision tabel baris nyimpen informasi ngeunaan kantor nu karyawan jalan. Manehna, kahareupna disambungkeun via widang Su_Person tabel Jalma. Naon ieu hartina? Dumasar kana schema data bisa ngomong yén dina unit tabel pikeun tiap catetan dina tabel "karyawan" bakal informasi ngeunaan departemen nu aranjeunna jalan. Éta pikeun komunikasi ieu sareng bakal dianggo operator Batin Gabung.

Pikeun pamakéan langkung intuitif of mertimbangkeun operator SQL Batin Gabung (conto pamakéan na keur salah sahiji atawa dua tabel). Lamun urang nganggap conto tabel sarua, teras sadayana anu cukup basajan:

Pilih * ti Jalma

Batin gabung Subdivision on Su_Person = Pe_ID

Conto nyambungkeun dua tabel sarta subquery

Operator SQL Batin Gabung, conto nu pamakéan pikeun meunangkeun data tina sababaraha tabel bisa disusun dina ragam luhur, mangka dipake dina komplikasi saeutik tina prinsip. Pikeun ngahesekeun tugas ti dua tabel. Contona, urang boga indit tabel nu nyimpen informasi ngeunaan sagala departemén di unggal divisi. Dina tabél ieu dirékam angka division jeung nomer pagawe, jeung kudu supplemented ku ngaran data sampel unggal departemen. Pilari payun, eta sia nyebutkeun yen anjeun bisa make dua padika pikeun ngajawab masalah ieu.

Cara kahiji nyaéta pikeun nyambungkeun tabel departemén jeung sampel. Ngatur pamundut dina hal ieu bisa jadi kieu:

Pilih Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name ti Jalma

Batin gabung Subdivision on Su_Person = Pe_ID

Batin gabung indit on Su_Depart = Dep_ID na Pe_Depart = Dep_ID

Metodeu kadua ngarengsekeun masalah - nyaeta ngagunakeun a subquery nu teu sakabéh data bakal dipilih ti méja departemen, tapi mung perlu. Ieu kontras jeung metoda kahiji, éta bakal ngurangan waktu pamundut teh.

Pilih Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name ti Jalma

Batin gabung Subdivision on Su_Person = Pe_ID

Batin gabung (Pilih Dep_ID, Dep_Name, Pe_Depart ti indit) salaku T on Su_Depart = Dep_ID na Pe_Depart = Dep_ID

Eta sia noting yén susunan misalna hiji moal bisa salawasna nyepetkeun paménta karya. Kadang-kadang aya kasus lamun perlu make hiji sampel data tambahan kana méja samentara (lamun polumeu gede teuing), lajeng ieu digabungkeun jeung sampel utama.

Conto pamakéan Batin Gabung operator pikeun sampel tina angka nu gede ngarupakeun tabel

konstruksi ngalibatkeun queries kompléks keur jumlahna signifikan sampel tabel data na subqueries interconnected. sarat ieu tiasa nyugemakeun SQL Batin Gabung sintaksis. Conto pamakéan operator teh, dina hal ieu bisa nyusahkeun sampel teu ukur ti loba tempat gudang, tapi ogé mibanda angka nu gede ngarupakeun subqueries nested. Pikeun conto kongkrit, anjeun tiasa nyandak data tina sampel tabel Sistim (Batin Gabung pernyataan SQL). Conto - 3 of tabél - dina hal ieu bakal mibanda struktur rada kompleks.

Dina hal ieu disambungkeun (tabel primér) jeung tilu diwanohkeun salajengna sababaraha kaayaan Pilihan data.

Lamun ngagunakeun Batin Gabung operator kudu inget yén leuwih kompleks pamundut, nu panjang eta baris dilaksanakeun, jadi Anjeun kudu néangan cara pikeun leuwih gancang nedunan tur ngajawab masalah.

kacindekan

Tungtungna, Abdi hoyong ngomong hiji hal: gawekeun basis data - éta henteu hal paling hese dina programming, jadi lamun hayang unggal jalma tunggal bakal tiasa acquire pangaweruh pikeun ngawangun database, jeung kana waktu, mangtaun pangalaman, Anjeun meunang digawekeun ku aranjeunna dina tingkat profésional .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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