KompjûtersSoftware

MySQL JOIN: beskriuwing, in foarbyld fan it gebrûk fan kommando en oanbefellings

Ûntwikkeling fan in databank fan ynternet middels net ferskille fan standert databestannen ûntwikkele yn it systeem fan MS SQL-tsjinner. Typysk, foar dit soarte fan boarne brûke MY SQL taal, hoewol't ûndersyk wurde op de ûntwikkeling fan de standert software produkten foar lokale gebrûk. Mar de fraach yn it artikel net gean oer it.

Faak doe't wurkjen mei databanken yn elk fan 'e talen fan' e taak om de stekproef gegevens te ôfliede yn in ferskaat fan rapporten, grafiken ensafuorthinne. As regel, de útfiering fan dit soarte fan problemen wy moatte brûke net ien, mar ferskate tafels, kombinearjen se yn ien fersyk, sterk komplisearre syn struktuer. It is needsaaklik om te rekken, sa't se wêze moatte útfier gegevens as sille "catch up" tafel, en wat it resultaat sil de meast akseptabel foar de programmeur. Oplosse dizze problemen, brûk ien fan de standert MySQL design taal - Join.

It konsept fan de wurden Join

Talen databank ûntwikkeling, gjin matearje hokker soarte fan taal, dêrby as basis de standert wurden fan Ingelske wurdboeken (dat is wêrom't de betingst dat jo witte Ingelsk, jo Bude folle makliker om te wurkjen mei tabellen). Om it útfieren fan de ferbinings tafel yn 'e stekproef nommen itselde wurd - Join. Yn 'e taal fan databank software brûkt Myn SQL. Oersetting fan it wurd tsjinst is krekt deselde as yn de taal - "uny".

Ynterpretaasje MySQL struktuer - Join, elk ien dêrfan sil wêze krekt itselde. As jo ûntsiferje it doel fan bou, nammentlik de skets fan har wurk, wy krije de folgjende wearden: it ûntwerp sil tastean om sammelje de ferplichte fjilden út ferskate tafels, of briede queries yn ien stekproef.

Soarten fan designs om te fusearjen

As de programmeur moat sammelje in stekproef út meardere tabellen, en hy wit wat de kaai fjilden yn harren en wat soarte fan gegevens is nedich foar it rapport, kinne jo gebrûk meitsje fan ien fan 'e fûnemintele struktueren fan feriening, om te kommen ta it winske resultaat. Basis struktueren (om mei te dwaan tabellen) binne fjouwer:

  1. Binnenste meidwaan.
  2. Krús Join.
  3. Lofts meidwaan.
  4. Rjochts Join.

Ofhinklik fan 'e taak, elts fan de standert ûntwerpen sille jaan ferskillende resultaten, dat sil krije ferslaggen op ferskillende parameters yn in koarte perioade fan tiid.

It kreëarjen en populating tafels foar letter gebrûk

Foardat jo begjinne, bygelyks, om beskôgje meganismen te wurkjen mei gegevens fusion Constructs moatte tariede ferskate tafels, dêr't wy sille fierder oan wurkje. Dit sil helpe omtinken oan de begjinsels fan alle ûndernimmers, neist, sadat begjinners sille leare al de basis makliker programmearring tabellen.

De earste tabel sil beskriuwe in pear fan 'e items mei hokker minsken wurde hieltyd tsjinkaam hiele syn libben.

De twadde tabel sil beskriuwe in pear fan 'e eigenskippen fan foarwerpen út de earste tafel te tastean fierdere wurk mei harren.

Yn it algemien, de twa tafels sille wêze genôch om it foarbyld fan har wurk. No kinne jo trochgean oan it praktyske ôfwaging fan ús ûntwerpen.

Using Sintrale Join

Ast brûk makkest MySQL struktuer - Join Ineer wurdich sjoen in pear fan syn funksjes. Dit ûntwerp kinne jo kieze út beide tabellen allinne dy registers dy't yn de earste en yn de twadde tabel. Hoe wurket it? De earste tafel wy hawwe de master kaai - ID, dat wiist de seriële oantal Records yn de tabel.

As jo meitsje de twadde tafel, deselde kaai wurdt brûkt as in folchoarder nûmer, in foarbyld kin sjoen wurde yn de sifers. Wannear't kiezen fan in gegevens selektearje ferklearring sil bepale it resultaat allinnich registrearret de seriële nûmers gearfalle - dêrfandinne, se binne yn 'e earste en yn de twadde tabel.

As de bou is it nedich om te begripen presys wat jo nedich hawwe om gegevens. De meast foarkommende flater, benammen foar ûntwikkelers fan databank, it is irrasjoneel en betiden ûnbehoarlik gebrûk fan design Sintrale Join. As foarbyld, MySQL Sintrale Join, kinne jo beskôgje in skript dat sil weromkomme ús oan de earder beskreaun en fol mei tabellen fan ynformaasje objekten en harren eigenskippen. Mar der kin ferskillende manieren te brûken ûntwerp. Yn dat ferbân Myn SQL is hiel fleksibel taal. Sa kinne jo sjen foarbylden fan it gebrûk fan MySQL Sintrale Join.

Joining tabellen sûnder opjefte gjin parameter opjûn binne. Yn dit gefal, wy krije it gefolch fan sa'n plan:

As wy jouwe oan by wurd Solution: Mei help fan in tsjinst, is it nedich om te beskôgje de wichtichste kaaien of Records yn 'e tafels, it resultaat set sil feroarje dramatysk. Yn dit gefal, wy krije de stekproef, dat sil weromkomme allinne dy rigen dy't hawwe deselde master toetsen.

Kâns op in tredde belichaming van it brûken, doe't frege troch it wurd «op» jout fjilden dy't moatte foarkomme joining tabellen. Yn dit gefal, de stekproef sil de folgjende ynformaasje:

Funksjes brûke Lofts Join

As wy beskôgje in oare wize fan kombinearjen tafels mei help MySQL struktuer - Join, men kin fernimme in ferskil yn gegevens, dy't outputted. Sa'n meganisme wurdt Left design.

It brûken fan de struktuer Left Join MySQL hat guon funksjes en, lykas Sintrale, freget in helder ynsjoch yn 'e resultaten te krigen wurde.

Yn dit gefal, earst kiest alle rekords út de earste tafel, en fierder dêroan binne taheakke op de twadde tabel eigenskippen. Yn dit gefal, as der in rekôr, bygelyks, it "stool" yn 'e earste tafel en de twadde tafel binne gjin eigenskippen derom, de Lofts operator byldskermen tsjinoer de yngong ta null, dy't fertelt de programmeur dat de tekens op dit ûnderwerp is net heard .

Mei help fan dizze design sil helpe bepale hokker fields of, bygelyks, it guod yn de winkel is net ynsteld de priis, de garantie perioade , ensafuorthinne.

Brûk Foarbyld Lofts

Om beskôge wurde foar it ûntwerp fan de operator praktyk Left Join MySQL brûke de earder beskreaun tafel. Bygelyks, Jo moatte selektearje de hiele list fan produkten dy't yn 'e winkel, en kontrolearje foar guon fan harren net drage eigenskippen of eigenskippen. Yn dit gefal, de stekproef sil werjaan alle produkten, en foar wa't gjin eigendom, sil drage núlls.

Dêr't gebrûk by bou Join

As in parameter, de feriening kin net allinne wize op de fjilden foar dêr't jim moatte meitsje in ferbining tafel, mar kin ûnder oare de operator Wêr Betingsten.

Bygelyks, beskôgje in skript dat wurde moat werom nei ús allinne dy records dy't hawwe gjin delset in teken. Yn dit gefal, jo moatte heakjen it ûntwerp Join operator betingsten en op wize dat it wurde moat werom as gefolch.

Wannear't brûkt yn MySQL Join - Dêr't it moat wêze dúdlik begrepen dat jout allinne dy rekords dy't ûnder oaren de boppesteande steat, en de stekproef sil dan wêze as folget:

Dy fersiken tastean jim meitsje Oefenwedstrijd Nederland-spesifike gegevens oangeande de selektearre programmeur betingst. Sokke betingsten kinne oanjaan ferskate mooglik wylst it bywurkjen fan gegevens seleksje parameter opjûn feriene wurde mei tabellen.

Mei help fan Join te feroarjen de gegevens yn de tabellen

Ûntwerpe Join, yn feite, universeel. It jout jo de mooglikheid om net allinnich dwaan in ferskaat oan gebrûk, mar ek ferbining mei de fersiken fan ien oant ferskate tabellen, te oplizze oanfoljende betingsten yn in stekproef. Design kin ek brûkt wurde foar oare gegevens operaasjes. Sa, Join kin brûkt wurde om te feroarjen de data yn de tabel. Of leaver, te ferdúdlikjen de betingsten yn de tabel, of yn gefallen dêr't de needsaak om te bywurkje gegevens yn meardere tafels op deselde omstannichheden.

Bygelyks, beskôgje it folgjende probleem. Jûn trije Tafels wêryn der wat bewiis. It is needsaaklik om te fieren út de feroaring fan de gegevens yn beide tabellen mei help fan in inkele sykopdracht. Krekt foar it oplossen sokke taken kinne brûkt wurde yn in kommando Update Join design. Doch mei oan de tige soarte fan struktuer hinget, op deselde wize as yn it gefal fan de stekproef gegevens oer de útkomst fan wa't wol krije in programmeur.

Betink in simpel foarbyld. Jo moatte bywurkje gegevens op ien fersyk oan deselde betingsten. Dit soarte fan query wurdt oanlein te optimalisearjen fan de databank. Wêrom skriuwe ferskate fragen foar elk fan 'e tafels, as jo kinne útjaan alle gegevens manipulaasje fersyk ien? Foarbyld MySQL Update Join yn ús gefal soe wêze:

Building komplekse queries

Hiel faak as wurkjen mei databank Queries nedich te bouwen net allinne in Uny fan ferskate tafels, mar ek mei it brûken fan sub-queries. Sokke problemen binne frij lestich te begripen foar de begjinnende programmeur databanken. De swierrichheid is dat wy moatte tinke troch eltse stap, bepale hokker gegevens út in tabel of query moatte te krijen en hoe't yn de takomst se moatte wurde hinne om te wurkjen.

Foar in mear spesifike begryp kin beskôge wurde (yn MySQL Join) foarbylden fan komplekse queries. As jo binne nije en wurde krekt begjinne te wurkjen mei databanken, sokke opliedings sille allinne fan profitearje. De ideale útfiering sil MySQL Lofts Join foarbylden.

Dizze query sil weromgean ús ta 58 registers fan de ferkeap kontrakt, dat is fol of der is in cash lykwicht foar de selektearre datum. Yn dit gefal, it hjoeddeiske datum. Ek yn 'e stekproef tafoege oan it betingst dat it kontrakt moat wêze de titel tekens - "123". De on-skerm ynformaasje (data) sille sortearre wurde - sorteare op nûmer fan it kontrakt.

De folgjende foarbyld toant de details fan alle betellingen, dat sil oanjûn it kontrakt nûmer.

Mei help fan subqueries

Lykas sein earder, doe't wurkjen mei databanken kinne kombinearre wurde net allinnich de tafel, mar de tafel mei it fersyk. Dit ûntwerp wurdt benammen brûkt om rapper de query en syn optimalisearjen.

Bygelyks, as jo wolle út de tafel, dat hat hûnderten fjilden en, sizze, tûzen oarkonden, kies mar twa fjilden, is it nedich om te brûken op in fraach dy't jout allinne de ferplichte fjilden, en kombinearje it mei de wichtichste gegevens sample. As foarbyld MySQL Join Selektearje kin beskôgje in fersyk fan dit type:

It is net alle metoaden fan gebrûk fan standert ûntwerpen MySQL, en allinne standert. Hoe te brûken ûntwerp en Join yn elk fan syn foarmen, de programmeur beslút, mar it is de muoite wurdich ûnthâlden en rekken holden wat it resultaat moatte jo krije troch de query.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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