KompjutersSoftwer

MySQL JOIN: deskrizzjoni, eżempju ta 'użu kmand u rakkomandazzjonijiet

Iżvilupp ta 'database ta' riżorsi Internet ma tvarjax minn databases standard żviluppati fis-sistema ta ' MS SQL Server. Tipikament, għal dan it-tip ta 'riżorsa jużaw SQL lingwa MY, għalkemm jistgħu jiġu applikati għall-iżvilupp ta' prodotti ta 'softwer standard għall-użu lokali. Iżda l-kwistjoni fl-artikolu ma għanddu jsir.

Spiss meta jaħdmu ma 'databases f'kull wieħed mill-lingwi tal-ħidma li jagħmlu l-kampjun data biex tkun derivata fil-varjetà ta' rapporti, graphs u l-bqija. Bħala regola, l-implimentazzjoni ta 'dan it-tip ta' problemi li għandna biex tuża mhux waħda iżda diversi tabelli, jingħaqdu fi talba waħda, ħafna tikkomplika l-istruttura tiegħu. Huwa meħtieġ li jittieħed kont, kif għandhom jitwettqu data prodotta bħala se "ilaħħqu" mejda, u dak ir-riżultat se jkun l-aktar aċċettabbli għall-programmer. Biex issolvi dawn il-problemi, l-użu wieħed mill-lingwa standard ta 'disinn MySQL - Ingħaqad.

Il-kunċett tal-kliem Ingħaqad

Lingwi iżvilupp tad-database, l-ebda kwistjoni x'tip ta 'lingwa, billi tittieħed bħala bażi l-kliem standard tal dizzjunarji Ingliż (li hija għaliex il-kundizzjoni li taf l-Ingliż, inti bude ħafna aktar faċli li taħdem ma' tabelli). Biex timplimenta l-tabella konnessjonijiet fil-kampjun ħadu l-istess kelma - Ingħaqad. Fil-lingwa tal softwer tad-database użati My SQL. Traduzzjoni tas-servizz kelma huwa eżattament l-istess bħal fil-lingwa - "unjoni".

Interpretazzjoni MySQL istruttura - Join, kull waħda minnhom se jkunu eżattament l-istess. Jekk inti jiddeċifraw l-iskop tal-kostruzzjoni, jiġifieri l-kontorn tal-ħidma tagħha, irridu jiksbu l-valuri li ġejjin: id-disinn se jippermetti biex jiġbru l-oqsma meħtieġa mit-tabelli differenti, jew mistoqsijiet nested f'kampjun wieħed.

Tipi ta 'disinji li jingħaqdu

Jekk il-programmer jeħtieġ li tiġbor kampjun mit-tabelli multipli, u hu jaf x'inhuma l-oqsma ewlenin fihom u liema tip ta 'data hija meħtieġa għar-rapport, inti tista' tuża waħda mill-istrutturi bażiċi ta 'assoċjazzjoni, sabiex jintlaħaq ir-riżultat mixtieq. strutturi bażiċi (li jissieħbu tabelli) huma erba:

  1. jissieħbu ġewwa.
  2. Cross Ingħaqad.
  3. Xellug jissieħbu.
  4. Dritt Ingħaqad.

Jiddependi fuq il-kompitu, kull wieħed mill-disinji standard se jagħtu riżultati differenti, li se jirċievu rapporti dwar parametri differenti fil-perjodu qasir ta 'żmien.

Il-ħolqien u tabelli għall-użu aktar tard populating

Qabel ma tibda per eżempju, tikkunsidra mekkaniżmi biex jaħdmu ma constructs fużjoni tad-dejta għandu jħejji diversi tabelli, li magħha għandna se tkompli taħdem. Dan jgħin sabiex juri l-prinċipji ta 'operaturi kollha, barra minn hekk, sabiex jibdew se jitgħallmu l-affarijiet bażiċi tabelli programmazzjoni aktar faċli.

L-ewwel tabella se jiddeskrivu wħud mill-oġġetti ma 'nies li huma kontinwament jiltaqgħu magħhom matul il-ħajja tiegħu.

It-tieni tabella se jiddeskrivu wħud mill-proprjetajiet ta 'oġġetti mill-ewwel tabella li jippermettu aktar ħidma magħhom.

B'mod ġenerali, iż-żewġ tabelli se jkunu biżżejjed biex juru l-eżempju tax-xogħol tagħhom. Issa inti tista 'tipproċedi għall-konsiderazzjoni prattika ta' disinji tagħna.

Bl-użu ġewwa Ingħaqad

Jekk qed tuża MySQL istruttura - Ingħaqad Ineer min jikkunsidra xi wħud mill-karatteristiċi tiegħu. Dan id-disinn jippermetti li inti tagħżel minn żewġ tabelli biss dawk rekords li huma fl-ewwel u fit-tieni tabella. Kif taħdem? L-ewwel tabella għandna l-kaptan ewlenin - identità, li jindika n-numru tas-serje ta 'rekords fit-tabella.

Meta inti toħloq it-tieni tabella, l-istess ċavetta huwa użat bħala numru ta 'sekwenza, eżempju jista' jidher fil-figuri. Meta jagħżlu dikjarazzjoni Agħżel data ser tiddetermina r-riżultat biss jirreġistra d-numri tas-serje jikkoinċidu - b'hekk, huma l-ewwel u fit-tieni tabella.

Meta l-kostruzzjoni huwa meħtieġ li wieħed jifhem eżattament dak li għandek bżonn biex tinkiseb data. L-iżball aktar komuni, speċjalment għall-iżviluppaturi ta 'database, huwa użu mhux razzjonali u mhux xieraq ta' disinn ta 'ġewwa Ingħaqad. Bħala eżempju, MySQL Inner Ingħaqad, inti tista 'tikkunsidra b'kitba li se jirritorna us lill-deskritti u mimlija bil tabelli ta' oġġetti ta 'informazzjoni u l-proprjetajiet tagħhom qabel. Iżda jista 'jkun hemm diversi modi biex nużaw disinn. F'dan ir-rigward My SQL huwa lingwa flessibbli ħafna. Allura, tista 'tara eżempji ta' użu MySQL Inner Ingħaqad.

Tgħaqqad tabelli mingħajr ma jispeċifika ebda parametri. F'dan il-każ, irridu jiksbu l-riżultat ta 'tali pjan:

Jekk aħna tindika sa Soluzzjoni kelma: Permezz ta 'servizz, huwa neċessarju li tiġi eżaminata l-prinċipali ċwievet ta' rekords fit-tabelli, is-sett riżultat se jinbidlu b'mod drammatiku. F'dan il-każ, irridu jiksbu l-kampjun, li se terġa 'lura biss dawk ringieli li għandhom l-istess ċwievet kaptan.

Opportunità ta 'terz inkarnazzjoni ta' l-użu, meta ġiet issuġġerita mill-kelma "fuq" jindika oqsma li jridu jseħħu tabelli li tgħaqqad. F'dan il-każ, il-kampjun jirritorna l-informazzjoni li ġejja:

Karatteristiċi Użu Xellug Ingħaqad

Jekk nikkunsidraw mod ieħor ta 'kif tgħaqqad tabelli li jużaw MySQL istruttura - Ingħaqad, wieħed jista' tinnota differenza fid-dejta, li huma outputted. Tali mekkaniżmu huwa Xellug disinn.

Uża l-istruttura Xellug Ingħaqad MySQL għandu xi karatteristiċi u, bħala Inner, jeħtieġ fehim ċar tar-riżultati li għandhom jinkisbu.

F'dan il-każ, l-ewwel jagħżel reġistri kollha mill-ewwel tabella, u aktar tiegħu huma mehmuża fuq il-tieni proprjetajiet tal-mejda. F'dan il-każ, jekk ikun hemm rekord, per eżempju, il- "ippurgar" fl-ewwel skeda u t-tieni tabella ebda proprjetajiet lilha, l-wirjiet operatur Xellug quddiem tad-dħul li nulla, li jirrakkonta l-programmer li s-sinjali fuq dan is-suġġett hija ma smajt .

Meta tuża dan id-disinn se jgħin jiddetermina liema oqsma jew, pereżempju, l-oġġetti fil-maħżen ma jkunx stabbilit il-prezz, il-perjodu tal-garanzija , u l-bqija.

Użu Eżempju Xellug

Biex jiġu kkunsidrati għad-disinn tal-prattika operatur Xellug Ingħaqad MySQL jużaw tabella deskritt qabel. Per eżempju, inti għandek bżonn tagħżel l-lista sħiħa ta 'prodotti li huma fil-maħżen, u ċċekkja għall xi wħud minnhom ma kellhomx karatteristiċi jew proprjetajiet. F'dan il-każ, il-kampjun se display prodotti kollha, u għal dawk li jkollhom l-ebda proprjetà, se jkollhom nulls.

Meta l-użu fil-kostruzzjoni Ingħaqad

Bħala parametru, l-assoċjazzjoni tista 'tinkludi mhux biss jindikaw l-oqsma li għalihom trid tagħmel tabella konnessjoni, iżda jistgħu jinkludu l-operatur Fejn il-kondizzjonijiet.

Per eżempju, jikkunsidraw b'kitba li għandhom jiġu lura lilna biss dawk ir-rekords li ma jkunux jħott sinjal. F'dan il-każ, ikollok bżonn li jiżdiedu d-disinn Ingħaqad termini operatur u jindikaw li għandu jkun ritornat bħala riżultat.

Meta jintuża MySQL Ingħaqad - Fejn għandu jinftiehem b'mod ċar li juri biss dawk reġistri li jinkludu l-kundizzjoni t'hawn fuq, u l-kampjun mbagħad ikunu kif ġej:

Dawn it-talbiet jippermettu li inti tagħmel id-data speċifika għall-kampjun li għandhom x'jaqsmu mal-kundizzjoni programmer magħżula. Kundizzjonijiet bħal dawn jistgħu jindikaw diversi possibbli filwaqt li taġġorna għażla tal-parametri tad-data magħquda ma 'tabelli.

Bl-użu Ingħaqad biex jibdlu l-informazzjoni fit-tabelli

Disinn Ingħaqad, fil-fatt, universali. Huwa jippermettilek li mhux biss jagħmlu varjetà ta 'kampjuni, iżda wkoll tqabbad għat-talbiet minn wieħed għal diversi tabelli, li jimponu kondizzjonijiet addizzjonali fil-kampjun. Disinn jista 'jintuża wkoll għal operazzjonijiet oħra ta' data. Għalhekk, Ingħaqad jistgħu jintużaw biex jibdlu l-informazzjoni fit-tabella. Jew aħjar, biex tiċċara l-kundizzjonijiet fit-tabella, jew f'każijiet fejn il-ħtieġa li jaġġornaw id-dejta fit-tabelli multipli fl-istess kundizzjonijiet.

Per eżempju, jikkunsidraw il-problema li ġejjin. Mogħtija tliet tabelli li fihom hemm xi evidenza. Huwa neċessarju li twettaq l-bidla tad-data fiż-żewġ tabelli li jużaw mistoqsija waħda. Just biex isolvu dawn il-kompiti jistgħu jintużaw fil Aġġornament kmand Ingħaqad disinn. Ingħaqad fil-tip ħafna ta 'struttura tiddependi, fl-istess mod bħal fil-każ tad-data kampjun fuq ir-riżultat ta' min jixtieq jikseb programmer.

Ikkunsidra eżempju sempliċi. Ikollok bżonn li jaġġornaw id-dejta fuq talba waħda għall-istess kondizzjonijiet. Dan it-tip ta 'mistoqsija hija mibnija biex jottimizzaw-database. Għaliex tikteb mistoqsijiet differenti għal kull wieħed mill-tabelli, jekk inti tista 'tonfoq il-manipulazzjoni ta' dejta talba waħda? EŻEMPJU MySQL Aġġornament Ingħaqad fil-każ tagħna tkun:

Bini mistoqsijiet kumplessi

Spiss meta jaħdmu ma 'database mistoqsijiet meħtieġ li jinbena mhux biss unjoni ta' diversi tabelli, iżda wkoll bl-użu ta 'sotto-mistoqsijiet. Problemi bħal dawn huma pjuttost diffiċli biex jifhmu għad-databases programmer novizzi. Id-diffikultà hija li għandna biex jaħsbu permezz ta 'kull pass, jiddetermina liema data minn tabella jew mistoqsija bżonn li tikseb u kif fil-futur għandhom jiġu sejjer jaħdem.

Għal fehim aktar speċifika tista 'titqies (fil MySQL Ingħaqad) eżempji ta' mistoqsijiet kumplessi. Jekk int ġdid u huma biss jibdew jaħdmu ma 'databases, dan it-taħriġ se jibbenefikaw biss. L-inkarnazzjoni ideali se MySQL Xellug Ingħaqad eżempji.

Din il-mistoqsija se terġa 'lura ahna 58 rekords tal-kuntratt tal-bejgħ, li hija sħiħa jew ikun hemm bilanċ ta' kontanti għad-data magħżula. F'dan il-każ, id-data attwali. Ukoll fil-kampjun miżjud għall-kundizzjoni li l-kuntratt għandu jkun il-karattri titolu - ' "123". L-informazzjoni fuq l-iskrin (data) se jkunu magħżula - magħżula bin-numru tal-kuntratt.

-Eżempju li ġej juri d-dettalji tal-pagamenti kollha, li se jindikaw il-numru tal-kuntratt.

Bl-użu subqueries

Kif imsemmi qabel, meta jaħdmu ma 'databases jistgħu jiġu kkombinati mhux biss il-mejda, iżda l-tabella mat-talba. Dan id-disinn huwa prinċipalment użat biex tħaffef il-mistoqsija u l-ottimizzazzjoni tagħha.

Per eżempju, jekk inti tixtieq mit-tabella, li għandha mijiet ta 'oqsma u, jgħidu, elf rekords, jagħżlu biss żewġ oqsma, huwa meħtieġ li tuża mistoqsija li jirritorna biss l-oqsma meħtieġa, u jikkombinaw dan ma' l-kampjun ewlieni tad-data. Bħala eżempju MySQL Ingħaqad Agħżel tista 'tikkunsidra talba ta' dan it-tip:

Mhuwiex metodi kollha ta 'użu ta' disinni MySQL standard, u biss l-istandard. Kif għandek tuża disinn u Ingħaqad fi kwalunkwe ta 'forom tagħha, il-programmer jiddeċiedi, iżda huwa xieraq li jiġi mfakkar u jqisu dak ir-riżultat għandu jinkiseb mill-mistoqsija.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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