RekenaarsSagteware

MySQL JOIN: beskrywing, 'n voorbeeld van die gebruik van bevel en aanbevelings

Ontwikkeling van 'n databasis van Internet hulpbronne nie verskil van standaard databasisse ontwikkel in die stelsel van MS SQL Server. Tipies, vir hierdie soort hulpbron gebruik MY SQL taal, hoewel dit toegepas kan word om die ontwikkeling van standaard sagteware produkte vir plaaslike gebruik. Maar die vraag in die artikel gaan nie oor dit.

Dikwels by die werk met databasisse in elk van die tale van die taak om die voorbeeld van die data te maak om af te lei in 'n verskeidenheid van verslae, grafieke, ensovoorts. As 'n reël, die implementering van hierdie soort probleme wat ons moet nie een nie, maar 'n paar tafels te gebruik, en kombineer hulle in 'n enkele aanvraag, sy struktuur aansienlik bemoeilik. Dit is nodig om in ag te neem, soos hulle behoort te wees uitset data as sal "inhaal" tafel, en wat die gevolg sal die mees aanvaarbare vir die programmeerder te wees. Om hierdie probleme op te los, gebruik een van die standaard MySQL ontwerp taal - Sluit.

Die konsep van die woorde Sluit

Tale databasis ontwikkeling, maak nie saak watter soort van taal, neem as 'n basis van die standaard woorde van Engelse woordeboeke (wat is die rede waarom die voorwaarde dat jy weet Engels, jy baie makliker om te werk met tabelle bude). Om die verbindings tafel in die monster geneem dieselfde woord te implementeer - Sluit. In die taal van die databasis sagteware gebruik My SQL. Vertaling van die woord diens is presies dieselfde as in die taal - "unie".

Interpretasie MySQL struktuur - Sluit, enige een van wat presies dieselfde sal wees. As jy die doel van die konstruksie te ontsyfer, naamlik die uiteensetting van haar werk, ons kry die volgende waardes: die ontwerp sal toelaat om die vereiste velde van verskillende tafels, of geneste navrae versamel in 'n enkele voorbeeld.

Soorte ontwerpe om saam te smelt

As die programmeerder moet 'n monster uit verskeie tafels in te samel, en hy weet wat die sleutel velde in hulle en watter soort data wat nodig is vir die verslag, kan jy gebruik maak van een van die basiese strukture van assosiasie, ten einde die gewenste resultaat te bereik. Basiese strukture (om tafels te sluit) is vier:

  1. Innerlike aansluit.
  2. Kruis Sluit.
  3. Links te sluit.
  4. Reg Sluit.

Afhangende van die taak, sal elk van die standaard ontwerpe verskillende resultate, wat verslae op verskillende parameters in 'n kort tydperk van die tyd sal ontvang.

Skep en mense aan tafels vir latere gebruik

Voordat jy begin, byvoorbeeld, om meganismes te oorweeg om te werk met data fusion konstrukte moet 'n paar tafels, waarmee sal ons voortgaan om te werk voor te berei. Dit sal jou help om die beginsels van al die operateurs te demonstreer, benewens, sodat beginners sal leer al die basiese beginsels makliker programmering tafels.

Die eerste tabel sal 'n paar van die items waarmee mense voortdurend ondervind dwarsdeur sy lewe beskryf.

Die tweede tafel sal 'n paar van die eienskappe van voorwerpe uit die eerste tabel beskryf om verdere werk met hulle toelaat.

In die algemeen, sal die twee tafels genoeg om die voorbeeld van hul werk te wys wees. Nou kan jy voortgaan om die praktiese oorweging van ons ontwerpe.

Die gebruik van Inner Sluit

As jy met behulp van MySQL struktuur - Sluit Ineer die moeite werd oorweging sommige van sy funksies. Hierdie ontwerp kan jy kies uit beide tafels net daardie rekords wat in die eerste en in die tweede tafel. Hoe werk dit? Die eerste tafel het ons die meester sleutel - ID, wat die reeksnommer van rekords in die tabel dui.

Wanneer jy die tweede tafel te skep, is dieselfde sleutel gebruik as 'n reeks nommer, 'n voorbeeld kan gesien word in die figure. By die keuse van 'n data Select verklaring sal die resultaat bepaal rekords net die reeksnommers saamval - vandaar, hulle is in die eerste en in die tweede tafel.

Wanneer die konstruksie nodig is om presies wat jy nodig het om data te kry verstaan. Die mees algemene fout, veral vir ontwikkelaars van databasis, dit is irrasioneel en onbehoorlike gebruik van ontwerp Inner Sluit. As 'n voorbeeld, MySQL Inner Sluit, jy kan 'n script wat ons sal terugkeer na die voorheen beskryf en gevul met tafels van inligting voorwerpe en hul eienskappe te oorweeg. Maar daar kan verskeie maniere om ontwerp te gebruik. In hierdie verband My SQL is baie buigsaam taal. So, kan jy voorbeelde van die gebruik van MySQL Inner Sluit sien.

Saam met tafels sonder vermelding van enige parameters. In hierdie geval, kry ons die resultaat van so 'n plan:

As ons aan te dui deur woord Oplossing: Die gebruik van 'n diens, wat nodig is om die belangrikste sleutels van rekords in die tafels oorweeg dit, sal die resultaat stel dramaties verander. In hierdie geval, kry ons die monster, wat slegs diegene rye wat dieselfde meester sleutels hê sal terugkeer.

Kans van 'n derde verpersoonliking van die gebruik, wanneer dit gevra word deur die woord «op» dui velde wat by tafels moet plaasvind. In hierdie geval, sal die monster die volgende inligting om terug te keer:

Funksies Gebruik links Sluit

As ons kyk na 'n ander manier van die kombinasie van tafels met behulp van MySQL struktuur - Sluit, kan 'n mens 'n verskil in data, wat outputted sien. So 'n meganisme oorbly ontwerp.

Die gebruik van die struktuur Links Sluit MySQL het 'n paar eienskappe en, as Inner, vereis 'n duidelike begrip van die resultate te verkry.

In hierdie geval, kies eers alle rekords van die eerste tafel, en verder daartoe verbonde is op die tweede tafel eienskappe. In hierdie geval, indien daar 'n rekord, byvoorbeeld, die "stoel" in die eerste tafel en die tweede tafel is geen eienskappe om dit, die Left operateur uitstallings in die voorkant van die ingang na nul, wat die programmeerder wat die tekens oor hierdie onderwerp nie gehoor vertel .

Die gebruik van hierdie ontwerp sal help om te bepaal watter lande of, byvoorbeeld, is die goedere in die winkel nie stel die prys, die waarborg tydperk , en so aan.

Gebruik Voorbeeld Left

Om in aanmerking kom vir die ontwerp van die operateur praktyk Links Sluit MySQL gebruik die voorheen beskryf tafel. Byvoorbeeld, moet jy die hele lys van produkte wat in die winkel kies, en kyk vir 'n paar van hulle het nie eienskappe of eienskappe dra. In hierdie geval, sal die monster al die produkte te vertoon, en vir diegene wat geen eiendom, sal nulls dra.

Waar gebruik in konstruksie Sluit

As 'n parameter, kan die vereniging sluit nie net dui die velde waarvoor jy moet 'n verband tafel maak, maar kan die operateur te sluit Waar voorwaardes.

Byvoorbeeld, oorweeg 'n script wat moet teruggestuur word aan ons net daardie rekords wat nie neersit 'n teken. In hierdie geval, moet jy die ontwerp voeg Sluit operateur terme en dui daarop dat dit moet teruggestuur word as 'n gevolg.

Wanneer dit gebruik word in MySQL Sluit - Waar dit duidelik moet verstaan word dat slegs daardie rekords wat die bogenoemde toestand sluit vertoon, en die monster sal dan soos volg:

Hierdie versoeke kan jy monster-spesifieke data wat verband hou met die gekose programmeerder toestand maak. Sulke omstandighede kan 'n paar moontlike dui terwyl die opdatering van data seleksie parameters verenig met tafels.

Die gebruik van Afrikaans English om die data in die tabelle te verander

Ontwerp aan te sluit, in werklikheid, universele. Dit laat jou toe om nie net 'n verskeidenheid van monsters doen nie, maar ook aan te sluit op die versoeke van die een na 'n paar tafels, om bykomende voorwaardes in 'n monster te lê. Ontwerp kan ook gebruik word vir ander data bedrywighede. So, Sluit kan gebruik word om die data in die tabel verander. Of liewer, om die voorwaardes te verduidelik in die tabel, of in gevalle waar die behoefte om data in verskeie tafels te werk op dieselfde voorwaardes.

Byvoorbeeld, kyk na die volgende probleem. Gegewe drie tafels waar daar is 'n paar bewyse. Dit is nodig die verandering van data in beide tafels met behulp van 'n enkele navraag uit te voer. Net vir die oplossing van sulke take gebruik kan word in opdrag Update Sluit ontwerp. Sluit aan by die baie tipe struktuur hang, op dieselfde wyse as in die geval van die voorbeeld van die data op die uitkoms van wat 'n programmeerder kry.

Dink aan 'n eenvoudige voorbeeld. Wat jy nodig het om data te verfris op 'n enkele aanvraag aan dieselfde voorwaardes. Hierdie soort vraag is gebou om die databasis te optimaliseer. Hoekom skryf verskillende navrae vir elk van die tafels, as jy al die data manipulasie versoek een kan spandeer? VOORBEELD MySQL Update Sluit in ons geval sou wees:

Gebouekompleks navrae

Dikwels wanneer daar gewerk word met databasis navrae wat nodig is om nie net 'n unie van verskeie tafels, maar ook met die gebruik van sub-navrae te bou. Sulke probleme is baie moeilik om te verstaan vir die beginner programmeerder databasisse. Die probleem is dat ons moet dink deur middel van elke stap, bepaal watter data van 'n tafel of navraag moet kry en hoe in die toekoms moet hulle gaan werk.

Vir 'n meer spesifieke begrip kan beskou word (in MySQL Sluit) voorbeelde van komplekse navrae. As jy nuut is en is net begin om te werk met databasisse, sal sodanige opleiding net bevoordeel. Die ideale verpersoonliking sal MySQL Left Sluit voorbeelde.

Hierdie navraag sal ons terugkeer tot 58 rekords van die verkope kontrak, wat vol is of daar 'n kontantsaldo vir die geselekteerde datum. In hierdie geval, die huidige datum. Ook in die monster gevoeg aan die voorwaarde dat die kontrak moet wees die titel karakters - "123". Die inligting op die skerm (data) sal gesorteer word - gesorteer volgens getal van die kontrak.

Die volgende voorbeeld toon die besonderhede van al die betalings wat die kontrak nommer sal aandui.

Die gebruik van subqueries

Soos vroeër genoem, wanneer daar gewerk word met databasisse kan gekombineer word nie net die tafel, maar die tafel met die versoek. Hierdie ontwerp is hoofsaaklik gebruik word om die bespoediging van die navraag en sy optimalisering.

Byvoorbeeld, as jy wil hê uit die tabel, wat honderde velde het en, sê, 'n duisend rekords, kies net twee velde, is dit nodig om 'n navraag wat slegs die vereiste velde terugkeer gebruik, en kombineer dit met die belangrikste data monster. As 'n voorbeeld MySQL Sluit Select kan 'n versoek van hierdie tipe oorweeg:

Dit is nie al die metodes van die gebruik van standaard ontwerpe MySQL, en net standaard. Hoe om te gebruik ontwerp en Sluit in enige van sy vorme, die programmeerder besluit, maar dit is die moeite werd om te onthou en in ag neem wat die gevolg moet word verkry deur die navraag.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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