KomputilojProgramado

Funkciigisto SQLa INNER JOIN: ekzemploj de sintakso kaj funkcioj

Evoluantaj ajna datumbazo inkludas ne nur la kreo kaj kompletigo de tabloj kun diversaj informoj, sed ankaŭ plua laboro kun la datumoj. Por ĝuste plenumi diversajn taskojn en la elekto de datumoj de tabloj kaj raportado, uzi la norma Elektu dezajno.

Fetch datumoj de tabloj

Se ni konsideras la problemon de la elekto de datumoj aŭ la konstruo de raporto, Vi povas determini la nivelo de komplekseco de la operacio. Kutime, dum traktado serioza (laŭ volumeno) datumbazoj, kiuj formiĝas, ekzemple, en tendencas online aŭ grandaj firmaoj, datumoj elekto ne estas limigita al sola tablo. Kutime, la specimeno povas esti de sufiĉe granda nombro de ne nur ligitaj tabloj, sed ankaŭ nestis demandojn / sub-demandoj, kiu igas la programisto, depende de ĝia tasko. Por specimeno de unu tablo povas uzi la plej simpla strukturo:

Elektu * el Persono

kie Persono - nomo de la tablo de kiu vi volas fari datumoj reakiro.

Se, tamen, vi bezonos elekti datumoj el pluraj tabloj, unu el la norma dezajnoj povas esti uzata por kunigi plurajn tablojn.

konektanta plian tabloj Metodoj

Se ni konsideras la uzon de tiaj strukturoj en la primara nivelo, ni povas distingi la sekvajn mekanismojn por konekti la postulata nombro por la specimeno tabloj, nome:

  1. Funkciigisto Interna Aliĝu.
  2. Maldekstra Aliĝi aŭ, ĝi estas la dua registrado metodo, Maldekstra Ekstera Aliĝu.
  3. Kruco Aliĝu.
  4. Plena Aliĝu.

Uzante operatoroj aliĝi tablojn praktike, vi povas lerni per konsiderante la uzo de la SQL aserto - Interna Aliĝu. Ekzemplo de lia uzo estus tiel:

Elektu * el Persono

Ena aliĝi Subdivision sur Su_Person = Pe_ID

Lingvo SQL kaj Aliĝu Interna Aliĝi operatoro povas esti uzata ne nur por kombinado du aŭ pli tabloj, sed ankaŭ por konekti la alia sub-sercxoj, kio ege faciligas la laboron de administrantoj de datumbazoj, kaj, kiel regulo, povas signife akceli la efektivigon de specifaj, komplika serĉvorto strukturoj.

Kombinante datumojn en tablojn linio por linio

Se ni konsideras la rilaton de granda nombro da sub-sercxoj, kaj datumoj kolektis en ununuran tablon linio por linio, Vi povas ankaŭ uzi la telefonistoj Unio kaj Unio Ĉiuj.

La uzo de ĉi tiuj strukturoj dependos de la ellaboranto por agordi celoj kaj la rezultoj kiujn li volas atingi en la fino.

Priskribo Interna Aliĝi operatoro

Plejofte, kombini multoblajn tablojn en la SQL lingvo uzata de Interna Aliĝi operatoro. Priskribo Interna Aliĝi en SQL estas sufiĉe facile kompreni la mezumo programisto kiu ĵus komencas kompreni la datumbazoj. Se ni konsideras la priskribo de la mekanismo de laboro de ĉi tiu strukturo, ni akiras la jenan bildon. La logiko operatoro kiel tuto estas konstruita sur la transirejo kaj la eblecon de muestreo nur la datumoj, kio estas en ĉiu el la tabloj inkluzivita en la demando.

Se ni rigardas tian laboron laŭ grafika interpreto, ni ricevi SQLa Interna Aliĝi operatoro strukturon, ekzemplo de kiu povas esti montrita per la sekva skemo:

Ekzemple, ni havas du tabloj, montrita esquemáticamente en la figuro. Ili, siavice, havas malsaman numeron de eniroj. En ĉiu el la tabloj havas kampojn kiuj estas rilatigitaj. Se ni provas klarigi la laboron de la operatoro surbaze de la desegno, la revenis rezulto estos aro de vidaĵoj el du tabloj, kie la ĉambroj estas interligitaj kampoj koincidi. Simple dirite, la demando revenas nur tiuj diskoj (en tablo numero du), kies datumoj estas en la numero unu tablo.

La sintakso de la Interna Aliĝi

Kiel menciis antaŭe, la operatoro Interna Aliĝi, nome, ĝia sintakso, nekutime simplaj. Por la organizo de rilatoj inter tabloj ene sola specimeno jam suficxas memori kaj uzi la sekvajn grafika dokumento diagramo de la konstruo de la operatoro, kio estas preskribita en unu linio de programaro SQL-kodo, nome:

  • Ena Aliĝi [Tablo Nomo] sur [ŝlosilan kampo de la tablo al kiu konekti] = [kromaĵebla ŝlosilo kampo de la tablo].

Por komunikado en ĉi tiu aserto estas plejparte uzita tabloj ŝlosilojn. Kutime, en la grupo de tabloj kiuj stokas informojn pri oficistoj, antaŭe priskribita Persono Subdivision kaj havas almenaŭ unu similan rekordon. Do, prenu pli proksiman rigardi la operatoro SQLa Interna Aliĝi, ekzemplo de kiu estis montrita iom pli frue.

EKZEMPLO priskribon kaj ligon al la audio specimeno tablo

Ni havas Persono tablo, kiu stokas informojn pri ĉiuj oficistoj laboras en la kompanio. Nur rimarku ke la mastro ŝlosilo de la tablo estas kampo - Pe_ID. Ĝuste sur ĝi kaj iros faskon.

La dua tablo Subdivision konservos informoj pri la oficoj en kiu dungitoj labori. Ŝi, siavice, estas konektita pere Su_Person kampo Persono tablo. Kion tio signifas? Bazita sur la datumoj skemo povas diri ke en la tabelo unuoj por ĉiu registro en la tablo "Oficistoj" estos informo pri la fako en kiu laboras. Estas por ĉi tiu komunikado kaj funkcios operatoro Interna Aliĝu.

Dum pli intuicia uzi konsideri la operatoro SQLa Interna Aliĝu (ekzemploj de ĝia uzo por unu-du tabloj). Se ni konsideras la ekzemplon de la sama tablo, do ĉiuj estas sufiĉe simpla:

Elektu * el Persono

Ena aliĝi Subdivision sur Su_Person = Pe_ID

EKZEMPLO konekti la du tabloj kaj subquery

Funkciigisto SQLa Interna Aliĝi, ekzemploj de kiuj estas uzo por elsxuti datumoj el pluraj tabloj povas esti aranĝita en la supra maniero, ĝi laboras en malgranda komplikaĵo de principo. Por kompliki la taskon de la du tabloj. Ekzemple, ni havas Foriru tablo kiu stokas informojn pri ĉiuj fakoj en ĉiu de la dividoj. En ĉi tiu tablo registrita divido nombro kaj oficisto nombro, kaj devas esti kompletigita per la nomo de specimeno datumoj de ĉiu fako. Rigardante antaŭen, ĝi valoras diri ke vi povos uzi du metodojn por solvi tiun problemon.

La unua maniero estas konekti la fako tablo por studadi. Organizi peto en ĉi tiu kazo povas esti la sekvaj:

Elektu Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name el Persono

Ena aliĝi Subdivision sur Su_Person = Pe_ID

Ena aliĝi Foriru sur Su_Depart = Dep_ID kaj Pe_Depart = Dep_ID

La dua metodo de solvi taskojn - estas uzi subquery en kiu ne ĉiuj datumoj estos elektitaj el la fako tablo, sed nur la necesa. Ĉi tio estas en kontrasto kun la unua metodo, ĝi reduktos la momento de la peto.

Elektu Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name el Persono

Ena aliĝi Subdivision sur Su_Person = Pe_ID

Ena aliĝi (Elektu Dep_ID, Dep_Name, Pe_Depart de Foriru) kiel T sur Su_Depart = Dep_ID kaj Pe_Depart = Dep_ID

Estas notinde, ke tia aranĝo ne ĉiam plirapidigi la laboron peto. Kelkfoje estas kazoj kiam oni devas uzi kroman specimeno datumoj en portempan tabelo (se la volumo estas tro granda), kaj poste ĝi estis kombinita kun la ĉefa specimeno.

Ekzemplo de uzo Interna Aliĝi operatoro al specimenoj el granda nombro da tabloj

La konstruado engaĝas la uzon de kompleksaj demandoj por la specimeno signifajn kvantojn de datumoj tabloj kaj subqueries interkonektitaj. Tiuj postuloj povas kontentigi SQLa Interna Aliĝi sintakso. Ekzemploj de la uzo de la operatoro, en ĉi tiu kazo eblas komplikita ne nur specimenoj el la multaj stokado lokoj, sed ankaŭ kun granda nombro de nestitaj subqueries. Por konkreta ekzemplo, vi povas preni datumojn de specimeno de sistemo tabloj (Interno Aliĝi SQL aserto). Ekzemplo - 3 de la tablo - en ĉi tiu kazo havos pli kompleksa strukturo.

En ĉi tiu kazo konektita (la primara tablo) kaj tri pliaj enkondukis plurajn datumojn elekto kondiĉoj.

Kiam uzanta la Inner Aliĝi operatoro devas memori ke la pli kompleksa la demando, la pli longa ĝi estos efektivigita, do vi devus serĉi vojojn por pli rapide plenumi kaj solvi la problemon.

konkludo

En la fino, mi volas diri unu aferon: labori kun datumbazoj - ĝi ne estas la plej malfacila afero en programado, do se vi volas ke ĉiu unuopa persono povos akiri scion por konstrui datumbazo, kaj la tempo, gajni sperton, vi ricevas por labori kun ili sur profesia nivelo .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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