Nutikad viisid SQL -i liitmise stringi kasutamiseks

Nutikad viisid SQL -i liitmise stringi kasutamiseks

Struktureeritud päringukeel (SQL) on märkimisväärselt võimas tööriist, mis on täis funktsioone. Kui olete kõige rohkem õppinud olulised SQL -käsud , võite hakata oma SQL -iga natuke loovamaks muutuma. Täna näitan teile kõike, mida peate teadma SQL -i liitmise stringide kohta.





SQL -i murdeid on palju. Kõigi nende näidete puhul kasutan PostgreSQL variant.





Office 2016 uue versiooni installimine

Mis on ühendamine?

Ühendamine tähendab kahe asja ühendamist. Võib -olla kasutasite seda programmeerimiskeeles kahe stringi ühendamiseks. Võib -olla on teil ees- ja perekonnanime muutujad, mille ühendasite täisnime muutujana.



Ühendamine on väga kasulik viis kahe stringi ühendamiseks üheks. PHP kasutab stringide ühendamiseks punkti, samas kui JavaScript ja jQuery kasutavad plussmärki.

SQL -i ühendamine töötab täpselt samamoodi. Kasutate spetsiaalset operaatorit, et ühendada kaks asja üheks. Siin on näide Pseudokood :



first_name = Joe
last_name = Coburn
whole_name = first_name + last_name

Programmeerimiskeeltes hõlbustab liitmine koodi lugemist. Kui teie koodil on alati juurdepääs kahele stringile, muudab nende ühendamine üheks lihtsamaks meeldejätmise ja lühendab koodi pikkust.

Kuigi SQL -i muutujad on vähem levinud (kuid neid kasutatakse endiselt), on kombineeritud tulemuste tagastamiseks või andmetega manipuleerimiseks siiski vaja ühendada.





Kuidas ühendada

Ühendamine on väga SQL -is lihtne. Kuigi SQL on tavaline keel, rakendavad üksikud andmebaasimootorid funktsioone erineval viisil. Kuigi kõik need näited on PostgreSQL murdes, on seda lihtne teisendada teistesse variantidesse, otsides lihtsalt veebist sõna „Concatenate”. Erinevatel mootoritel võib olla ühendamise süntaks erinev, kuid põhimõte jääb samaks.

Tulles tagasi meie nime näite juurde, on siin põhiline vali päring:





SELECT first_name, last_name, email FROM users_table

Siin pole midagi keerulist, nii et lisame liitmise:

SELECT first_name || last_name AS full_name, email FROM users_table

Nagu näete, on see ühendamine töötanud suurepäraselt, kuid on üks väike probleem. Saadud täisnimi on kokku õmmeldud täpselt nii nagu mõlema veeru produkt - nimede vahele peaks jääma tühik!

Õnneks on seda lihtne parandada: lihtsalt ühendage tühik nende kahe vahel:

SELECT first_name || ' ' || last_name AS full_name, email FROM users_table

Need on põhinäited, kuid peaksite nägema, kuidas ühendamine toimib - see on tõesti nii lihtne! Toruoperaator ( | ) kasutatakse lausete vahel kaks korda. Teie SQL -mootor teab, et iga osa enne ja pärast seda sümbolit tuleks ühendada ja käsitleda ühena. Olge siiski ettevaatlik, kui kasutate operaatorit concat, kuid ei ühenda midagi, saate vea.

Nagu eespool mainitud, kasutavad need näited SQL -i PostgreSQL -i varianti. Teised variandid võivad kasutada erinevat operaatorit või isegi spetsiaalset funktsiooni, mille peate helistama. See pole tegelikult oluline kuidas ühendate stringid, tingimusel et teete seda nii, nagu teie andmebaasimootor ootab.

Läheb sügavamale

Nüüd, kui teate põhitõdesid, vaatame mõningaid põhjalikke näiteid ja mõningaid tavalisi lõkse.

Enamik andmebaasimootoreid ühendab edukalt stringide ja täisarvude segu, võib -olla isegi kuupäevad. Tavaliselt tekivad probleemid keerukate tüüpide, näiteks massiivide ühendamisel:

SELECT first_name || ' ' || last_name || ARRAY[123, 456] AS full_name, email FROM users_table

See kood ei tööta. Stringide ühendamine keerukate objektidega, näiteks massiividega, ei ole võimalik. Kui mõtlete, mida peate tegema, võite sageli kirjutada lihtsa, toimiva koodi, mitte keeruka, hullumeelse koodi, mis ei tööta.

Kui olete hoolikalt läbi mõelnud, mida peate tegema, kuid ei saa ikkagi SQL -i tööle, siis kas olete mõelnud programmeerimiskeele kasutamisele? Pärandkoodi kallal töötava tarkvaraarendajana tean, kui valus on SQL -i silumine, kuna keegi on sinna nii palju loogikat sisse toppinud, et on imelik, et see üldse töötab - kui proovite SQL -is loogikat kirjutada, siis lülitage programmeerimiskeelt (lihtsaid keeli on palju õppida).

Ühendamine töötab väga hästi kus samuti avaldused:

SELECT first_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR')::date

Siin toimub paar asja. Selles näites PÄEV , KUU ja AASTA on parameetrid, mis on skriptist edasi antud. Võib -olla on need koodiga loodud või kasutaja sisestanud. Need ühendatakse kokku ja valatakse seejärel kuupäeva tüübile (kasutades PostgreSQL -i kuupäeva süntaksit :: kuupäev ).

Sel viisil liitmise kasutamine võimaldab teil kuupäeva üksikuid osi aheldada, mida saab seejärel stringi asemel töödelda „päris” kuupäevana. Ärge unustage, et see põhinäide ei kaitse SQL -i süstimise eest, seega ärge kasutage seda muutmata üheski tootmiskoodis.

Teine lõks, millele tähelepanu pöörata, on null väärtused (nullstring on tühi või olematu string). Arvestades seda päringut:

SELECT first_name || ' ' || NULL AS full_name, email FROM users_table

See päring ebaõnnestub. Selle põhjuseks on viis, kuidas liitmine on teie andmebaasimootoris sisemiselt kodeeritud. Te ei pruugi selle probleemiga alati kokku puutuda, kuid see on üsna tavaline nähtus.

Kui arvate, et päringu tagastatud andmed võivad olla tühised, peate kasutama a ühinema . Koondumist võib laias laastus mõelda kui „kui see on null, asenda see selle teise stringi või veeruga”:

SELECT first_name || ' ' || COALESCE(NULL, 'ERROR NULL DATA') AS full_name, email FROM users_table

Nüüd teate, kuidas SQL -is kasutada liitmist, mida te sellega teete? Kas sa teha veebisait ja elavdada seda SQL -iga? Või võib -olla vajate veebisaitide loomise lihtsamaks lähenemiseks staatilist saidigeneraatorit.

Mida iganes teete, andke meile sellest allpool kommentaarides teada!

kuidas leida imei number iphone
Jaga Jaga Piiksuma E -post 6 kuuldavat alternatiivi: parimad tasuta või odavad audioraamaturakendused

Kui teile ei meeldi heliraamatute eest maksta, siis siin on mõned suurepärased rakendused, mis võimaldavad teil neid tasuta ja seaduslikult kuulata.

Loe edasi
Seotud teemad
  • Programmeerimine
  • Programmeerimine
  • SQL
Autori kohta Joe Coburn(136 artiklit avaldatud)

Joe on lõpetanud arvutiteaduse Ühendkuningriigi Lincolni ülikoolis. Ta on professionaalne tarkvaraarendaja ja kui ta ei lennuta droonidega ega kirjuta muusikat, võib teda sageli leida pildistamas või videoid tootmas.

Rohkem Joe Coburnilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin