KomputilojProgramaro

MySQL JOIN: priskribo, ekzemplo de uzante komando kaj rekomendoj

Evoluo de datumbazo de Interreto rimedoj ne diferencas de normo datumbazoj evoluigita en la sistemo de MS SQL SERVER. Tipe, por ĉi tiu tipo de rimedo uzi MIA SQL lingvo, kvankam ĝi povas esti aplikita al la disvolviĝo de normo programaro produktojn por loka uzo. Sed la demando en la artikolo ne iras pri ĝi.

Ofte kiam laboras kun datumbazoj en ĉiu de la lingvoj de la tasko fari la specimeno datumoj derivi en diversaj raportoj, grafikaĵoj ktp. Kutime, la efektivigo de tiu speco de problemoj ni devas uzi ne unu sed plurajn tablojn, kombinante ilin en ununuran peton, ege kompliki lian strukturon. Estas necese konsideri, kiel ili devus esti eligo datumojn kiel estos "reatingi" tablo, kaj kion la rezulto estos la plej akceptebla por la programisto. Por solvi ĉi tiujn problemojn, uzi unu el la norma MySQL dezajno lingvo - Aliĝu.

La koncepto de la vortoj Aliĝi

Lingvoj datumbazo disvolviĝo, ne gravas kia lingvo, prenante kiel bazo la norma vortoj de angla vortaroj (tial la kondiĉo ke vi scias la anglan, vi bude multe pli facile labori kun tabloj). Por efektivigi la ligojn tablo en la specimeno prenis la saman vorton - Aliĝu. En la lingvo de datumbazo programaro uzita Mia SQL. Traduko de la vorto servo estas ĝuste la sama kiel en la lingvo - "sindikato".

Interpreto MySQL strukturo - Aliĝu, iu de kiuj estos ĝuste la sama. Se deĉifri la celo konstruado, nome la konturon de ŝia laboro, ni akiras la sekvajn valorojn: la dezajno permesos kolekti la postulatajn kampojn el diversaj tabloj, aŭ nestitaj konsultojn en ununura specimeno.

Specoj de dezajnoj kunfandi

Se la programisto bezonas kolekti specimeno el pluraj tabloj, kaj li scias, kion la ŝlosilo kampoj en ili kaj kian datumoj estas necesa por la raporto, vi povas uzi unu el la bazaj strukturoj de asocio, por atingi la deziratan rezulton. Bazaj strukturoj (aliĝi tablojn) estas kvar:

  1. Ena aliĝi.
  2. Kruco Aliĝu.
  3. Maldekstra aliĝi.
  4. Ĝuste Aliĝu.

Depende de la tasko, ĉiu el la norma dezajnoj donos malsamajn rezultojn, kiuj ricevos raportojn sur diversaj parametroj en mallonga periodo de tempo.

Kreado kaj popoli tabloj por posta uzo

Antaŭ komenci, ekzemple, konsideri mekanismoj por labori kun datumoj fandado konstruoj devus prepari plurajn tablojn, kun kiu ni daŭre funkcii. Tio helpos montri la principojn de ĉiuj telefonistinoj, krome, por ke komencantoj lernos ĉiuj la basics facila programado tabloj.

La unua tabelo priskribos iuj el la aĵoj kun kiu la homo estas konstante renkontis ĉie en sia vivo.

La dua tablo priskribos iuj el la propraĵoj de objektoj el la unua tablo por permesi plian laboron kun ili.

Ĝenerale, la du tabloj sufiĉos montri la ekzemplon de lia laboro. Nun vi povas daŭrigi per la praktika konsidero de niaj dezajnoj.

Uzante Interna Aliĝi

Se vi uzas MySQL strukturo - Aliĝu Ineer valoras konsiderante iuj de liaj karakterizaĵoj. Tiu dezajno permesas vin elekti de kaj tabloj nur tiuj diskoj kiuj estas en la unua kaj en la dua tablo. Kiel ĝi funkcias? La unua tabelo ni havas la mastro ŝlosilo - ID, kiu indikas la numeron de serio de registroj en la tablo.

Kiam vi kreas la dua tablo, la sama ŝlosilo estas uzata kiel vico numeron, ekzemplo povas vidi en la figuroj. Kiam elektanta datumojn Elektu deklaro determinos la rezulto nur registras la numeroj de serio koincidos - de tie, ili estas en la unua kaj en la dua tablo.

Kiam la konstruo necesas kompreni precize kion vi bezonas por akiri datumojn. La plej ofta eraro, precipe por programistoj de datumbazo, ĝi estas malracia kaj misuzas dezajno Interna Aliĝu. Kiel ekzemplo, MySQL Interna Aliĝi, Vi povas konsideri skripto kiu revenos ni al la antaŭe priskribita kaj plenaj tabloj de informo objektoj kaj iliaj ecoj. Sed eble estas pluraj manieroj uzi dezajno. Tiurilate Mia SQL estas tre fleksebla lingvo. Do, vi povas vidi ekzemplojn de uzanta MySQL Interna Aliĝu.

Kunigante tabloj sen specifi ajnan parametroj. En ĉi tiu kazo, ni akiras la rezulton de tia plano:

Se ni indiki per vorto Solvo: Uzante servo, estas necese konsideri la ĉefaj ŝlosiloj de rekordoj en la tabloj, la rezulto aro ŝanĝos draste. En ĉi tiu kazo, ni preni la specimeno, kiu revenos nur tiuj vicoj kiuj havas la saman mastron ŝlosilojn.

Ebla tria personigo de la uzo, kiam instigita de la vorto «sur» indikas kampoj kiu devas okazi aliĝante tabloj. En ĉi tiu kazo, la specimeno revenos la sekvan informon:

Trajtoj Uzu Left Aliĝi

Se ni konsideras la alian vojon de kombinado tabloj uzante MySQL strukturo - Aliĝi oni povas rimarki la diferencon en datumoj, kiuj estas outputted. Tia mekanismo estas Maldekstra dezajno.

Uzante la strukturo Maldekstra Aliĝi MySQL havas kelkajn trajtojn kaj, kiel Interna, postulas klaran komprenon de la rezultoj al esti ricevita.

En ĉi tiu kazo, unue selektas ĉiujn rekordojn de la unua tablo, kaj plue gxi estas alligita sur la dua tablo ecoj. En ĉi tiu kazo, se estas disko, ekzemple, la "tabureto" en la unua tablo kaj la dua tablo neniuj ecoj al ĝi, la Maldekstra operatoro ekranoj antaŭ la eniro al nula, kio diras al la programisto, ke la signoj pri ĉi tiu temo ne aŭdis .

Uzante ĉi dezajno helpos determini kiuj kampoj aŭ, ekzemple, la varoj en la vendejo ne estas agordita la prezo, la garantio periodo , kaj tiel plu.

Uzo Ekzemplo Maldekstra

Por esti konsiderata por la dezajno de la operatoro praktiko Maldekstra Aliĝi MySQL uzu la antaŭe priskribita tablo. Ekzemple, vi devas elekti la tutan liston de produktoj kiuj estas en la vendejo kaj kontroli por kelkaj el ili, ne naskis karakterizaĵoj aŭ proprietoj. En ĉi tiu kazo, la specimeno vidigas ĉiujn produktojn, kaj por tiuj, kiuj ne posedaĵo, portos NULLs.

Kie uzo en konstruo Aliĝi

Kiel parametron, la asocio povas inkluzivi ne nur indiki la kampoj por kiu vi devas fari rilaton tablo, sed povas inkluzivi la operatoro Kie kondiĉoj.

Ekzemple, konsideri skripto kiu devis esti redonita al ni nur tiuj diskoj kiuj ne demetis signo. En ĉi tiu kazo, vi devas aldoni la dezajno Aliĝi operatoro terminoj kaj indiki ke ĝi devus esti revenis kiel rezulto.

Kiam uzata en MySQL Aliĝi - Kie ĝi devus esti klare komprenis, ke montras nur tiuj diskoj kiuj inkluzivas la supre kondiĉo, kaj la specimeno estos tiam tiel:

Ĉi tiuj petoj permesas fari specimeno-specifa datumoj rilataj al la elektita programisto kondiĉo. Tiaj kondiĉoj povas indiki plurajn eblajn dum ĝisdatiganta datumoj elekto parametroj kunigitaj kun tabloj.

Uzante Aliĝi ŝanĝi la datumojn en la tabloj

Desegni Aliĝi, fakte, universala. Ĝi permesas vin ne nur fari diversajn specimenojn, sed ankaŭ konektas al la petoj de unu al pluraj tabloj, trudi aldonaj kondiĉoj en specimeno. Dezajno povas esti uzata por aliaj datumoj operacioj. Tiel, Aliĝu povas esti uzata por ŝanĝi la datumojn en la tablo. Aŭ pli ĝuste, klarigi la kondiĉojn en la tablo, aŭ en kazoj kie la bezono ĝisdatigi datumojn en plurajn tablojn ĉe la samaj kondiĉoj.

Ekzemple, konsideru la sekvan problemon. Pro tri tabloj en kiuj estas iuj pruvoj. Estas necese realigi la ŝanĝon de datumoj en ambaŭ tabloj uzante sola demando. Nur por solvi tiajn taskojn povas uzi komandis Ĝisdatigi Aliĝi dezajno. Aliĝi ĝuste tia strukturo dependas, same kiel en la kazo de la specimeno datumojn pri la rezulto de kiu volas akiri programisto.

Konsideru simplan ekzemplon. Vi devas ĝisdatigi datumojn sur sola peto al la samaj kondiĉoj. Tiu speco de serĉvorto konstruas optimumigi la datumbazo. Kial skribi malsamajn demandojn por ĉiu el la tabloj, se vi povas elspezi la tutan datumoj manipulado peto tiu? EKZEMPLO MySQL Ĝisdatigi Aliĝi en nia kazo estus:

Konstrui kompleksajn demandojn

Tute ofte kiam laborante kun datumbazo pridemandojn necese konstrui ne nur unio de pluraj tabloj, sed ankaŭ kun la uzo de sub-demandoj. Tiaj problemoj estas sufiĉe malfacile kompreni por la novulo programisto datumbazoj. La malfacilaĵo estas ke ni devas pensi per ĉiu paŝo, determini kiun datumoj de tablo aŭ pridemando devas akiri kaj kiel en la estonteco oni devas iri labori.

Por pli specifa kompreno povas esti konsiderata (en MySQL Aliĝu) ekzemploj de kompleksaj demandoj. Se vi estas nova kaj estas nur komencanta labori kun datumbazoj, kiel ekzemple trejnado nur profiti. La ideala enkorpiĝo faros MySQL Maldekstra Aliĝi ekzemploj.

Ĉi serĉvorto revenos ni al 58 notoj pri la vendoj kontrakto, kiu estas plena kaj estas mono ekvilibron por la elektita dato. En ĉi tiu kazo, la nuna dato. Ankaŭ en la specimeno aldonitaj al la kondiĉo ke la kontrakto devus esti la titolo karakteroj - "123". La surekrana informon (datumoj) estos ordigitaj - ordigitaj laŭ nombro de la kontrakto.

La sekvanta ekzemplo montras la detalojn de ĉiuj pagoj, kiu indikos la kontrakto nombro.

uzante subqueries

Kiel menciis pli frue, kiam laborante kun datumbazoj povas esti kombinita ne nur la tablo, sed la tablon kun la peto. Tiu dezajno estas uzata ĉefe por plirapidigi la pridemando kaj lia optimización.

Ekzemple, se vi volas el la tablo, kiu havas centojn da kampoj kaj, diru, mil diskojn, elektu nur du kampoj, necesas uzi serĉvorto ke revenas nur la postulatajn kampojn, kaj kombini ĝin kun la ĉefa datumoj specimeno. Kiel ekzemplo MySQL Aliĝi Elekti povas konsideri peton de ĉi tiu tipo:

Ne ĉiuj metodoj de uzo de norma dezajnoj MySQL, kaj nur normo. Kiel uzi dezajno kaj Aliĝu en neniu de liaj formoj, la programisto decidas, sed valoras memori kaj konsideri kio la rezulto devus esti akiritaj de la demando.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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