Kuvitettu SQL-opetusohjelma aloittelijoille. Kielen peruslauserakenteet kyselyissä. SQL-kielen tarkoitus

Viimeisin päivitys: 24.06.2017

SQL Server on yksi eniten suosittuja järjestelmiä tietokannan hallintaa (DBMS) maailmassa. Tämä DBMS sopii monenlaisiin projekteihin: pienistä sovelluksista suuriin, paljon kuormitettuihin projekteihin.

SQL Serverin on luonut Microsoft. Ensimmäinen versio julkaistiin vuonna 1987. A nykyinen versio on versio 16, joka julkaistiin vuonna 2016 ja jota käytetään nykyisessä oppaassa.

SQL Server on pitkään ollut yksinomaan Windows-tietokannan hallintajärjestelmä, mutta versiosta 16 alkaen se on saatavana myös Linuxille.

SQL Serverille on ominaista seuraavat ominaisuudet:

    Suorituskyky. SQL Server on erittäin nopea.

    Luotettavuus ja turvallisuus. SQL Server tarjoaa tietojen salauksen.

    Yksinkertaisuus. Tämän DBMS:n kanssa on suhteellisen helppo työskennellä ja sitä on helppo hallita.

MS SQL Serverin, kuten minkä tahansa DBMS:n, keskeinen osa on tietokanta. Tietokanta on tietyllä tavalla järjestetty tietojen arkisto. Usein tietokanta edustaa fyysisesti kiintolevyllä olevaa tiedostoa, vaikka tämä vastaavuus ei ole välttämätöntä. Tietokannan hallintajärjestelmiä tai DBMS-järjestelmiä käytetään tietokantojen tallentamiseen ja hallintaan. Ja juuri MS SQL Server on yksi tällaisista tietokantajärjestelmistä.

Tietokantojen järjestämiseen MS SQL Server käyttää relaatiomalli. Tämän tietokantamallin kehitti jo vuonna 1970 Edgar Codd. Ja nykyään se on itse asiassa tietokantojen järjestämisen standardi.

Relaatiomalliin kuuluu tietojen tallentaminen taulukoiden muodossa, joista jokainen koostuu riveistä ja sarakkeista. Jokainen rivi tallentaa erillinen esine, ja sarakkeet sisältävät tämän objektin attribuutit.

Voit tunnistaa jokaisen taulukon rivin käyttämällä ensisijainen avain(ensisijainen avain). Ensisijainen avain voi olla yksi tai useampi sarake. Ensisijaisen avaimen avulla voimme viitata tiettyyn taulukon riviin. Näin ollen kahdella rivillä ei voi olla samaa ensisijaista avainta.

Avainten avulla yksi taulukko voidaan linkittää toiseen, eli suhteita voidaan järjestää kahden taulukon välillä. Ja itse taulukko voidaan esittää suhteena.

Vuorovaikutuksessa tietokannan kanssa käytetään SQL-kieltä (Structured Query Language). Asiakas (esimerkiksi ulkoinen ohjelma) lähettää pyynnön SQL:ssä käyttämällä erityistä API:ta. DBMS tulkitsee ja suorittaa pyynnön oikein ja lähettää sitten suoritustuloksen asiakkaalle.

SQL:n kehitti alun perin IBM System/R-nimiselle tietokantajärjestelmälle. Samaan aikaan itse kielen nimi oli SEQUEL (Structured English Query Language). Vaikka tietokantaa tai itse kieltä ei myöhemmin julkaistu virallisesti, perinteisesti termi SQL lausutaan usein "jatkoksi".

Vuonna 1979 Relational Software Inc. kehitti ensimmäisen tietokannan hallintajärjestelmän, nimeltään Oracle, joka käytti SQL-kieltä. Menestyksen ansiosta tästä tuotteesta Yrityksen nimeksi tuli Oracle.

Myöhemmin alkoi ilmestyä muita SQL:ää käyttäviä tietokantajärjestelmiä. Tämän seurauksena vuonna 1989 American National Standards Institute (ANSI) kodifioi kielen ja julkaisi ensimmäisen standardinsa. Tämän jälkeen standardia päivitettiin ja täydennettiin säännöllisesti. Sen viimeisin päivitys tapahtui vuonna 2011. Mutta standardin olemassaolosta huolimatta DBMS-valmistajat käyttävät usein omiaan omia toteutuksia SQL-kieliä, jotka eroavat hieman toisistaan.

SQL-kieltä on kahta lajiketta: PL-SQL ja T-SQL. PL-SQL:ää käytetään tietokantajärjestelmissä, kuten Oracle ja MySQL. SQL Serverissä käytetään T-SQL:ää (Transact-SQL). Itse asiassa tästä syystä T-SQL otetaan huomioon nykyisessä oppaassa.

Riippuen T-SQL-komennon suorittamasta tehtävästä, se voi olla jokin seuraavista:

    DDL (Data Definition Language). Tämä tyyppi sisältää erilaisia ​​komentoja, jotka luovat tietokannan, taulukoita, indeksejä, tallennettuja toimenpiteitä jne. Yleensä data määräytyy.

    Erityisesti voimme luokitella seuraavat komennot tälle tyypille:

    • CREATE: luo tietokantaobjekteja (itse tietokanta, taulukot, indeksit jne.)

      ALTER: muuttaa tietokantaobjekteja

      DROP: Poistaa tietokantaobjektit

      TRUNCATE: poistaa kaikki tiedot taulukoista

    DML (Data Manipulation Language). Tämä tyyppi sisältää komennot tietojen valitsemiseksi, päivittämiseksi, lisäämiseksi, poistamiseksi - yleensä kaikki ne komennot, joilla voimme hallita tietoja.

    Seuraavat komennot kuuluvat tähän tyyppiin:

    • SELECT: hakee tiedot tietokannasta

      PÄIVITYS: päivittää tiedot

      INSERT: lisää uusia tietoja

      DELETE: poistaa tiedot

    DCL (Data Control Language / Data Access Control Language). Tämä tyyppi sisältää komennot, jotka hallitsevat tietojen käyttöoikeuksia. Nämä ovat erityisesti seuraavat komennot:

    • GRANT: antaa luvan käyttää tietoja

      REVOKE: peruuttaa tietojen käyttöoikeudet

Käännös: Alexandr Pyramidin

Tässä artikkelissa esitellään SQL-kielen rakenne ja joitakin muita yleisiä käsitteitä kuten tietotyypit, joita kentät voivat sisältää, ja jotkin SQL:ssä esiintyvät epäselvyydet. Sinun ei tarvitse muistaa kaikkia tässä artikkelissa mainittuja yksityiskohtia. Vain täällä annettu lyhyt yleiskatsaus; monia yksityiskohtia annetaan, jotta voit viitata niihin myöhemmin, kun hallitset kieltä.

Miten SQL toimii?

SQL on kieli, joka on suunniteltu erityisesti relaatiotietokantoille (RDB). Hän esiintyy hienoa työtä joka sinun pitäisi tehdä, jos käyttäisit universaali kieli ohjelmointi, kuten C. Muodostaaksesi RDB:n C:ssä sinun on aloitettava alusta. Määrittelet objektin nimeltä taulukko, joka voi kasvaa niin, että siinä on kuinka monta riviä tahansa, ja sitten luot lisäproseduureja arvojen lisäämiseksi ja hakemiseksi.

Jos haluat löytää tiettyjä merkkijonoja, sinun on noudatettava vaiheittaista menettelyä, kuten seuraava:

  • Harkitse taulukon riviä.
  • Tarkista, onko tämä merkkijono yksi tarvitsemistasi merkkijonoista.
  • Jos on, tallenna se jonnekin, kunnes koko taulukko on tarkistettu.
  • Tarkista, onko taulukossa muita rivejä.
  • Jos on, palaa vaiheeseen 1.
  • Jos rivejä ei ole enää, tulosta kaikki vaiheessa 3 tallennetut arvot.

(Tämä ei tietenkään ole varsinainen C-komentojen joukko, vaan vain niiden vaiheiden logiikka, jotka sisällytettäisiin oikea ohjelma.) SQL tekee kaiken tämän puolestasi. SQL:n komennot voivat toimia kaikissa taulukkoryhmissä yhtenä kokonaisuutena ja käsitellä minkä tahansa määrän niistä poimittua tai johdettua tietoa yhtenä yksikkönä.

Mitä ANSI tekee?

Kuten johdannossa totesimme, SQL-standardi määritellään ANSI-koodilla (American National Standards Institute). SQL ei ole ANSI:n keksimä. Tämä on pohjimmiltaan IBM:n keksintö. Mutta muut yritykset hyppäsivät SQL:ään heti. Tekijä: vähintään Yksi yritys (Oracle) sai oikeuden markkinoida SQL-tuotteita IBM:ltä.

Useiden kilpailujen jälkeen SQL-ohjelmat ANSI on määritellyt standardin, johon ne on saatettava. (Tällaisten standardien määritelmä on ANSI-toiminto). Tämän jälkeen ilmeni kuitenkin joitain ongelmia. Ne syntyivät ANSI-standardoinnin seurauksena joidenkin rajoitusten muodossa. Koska ANSI ei aina määrittele, mikä on hyödyllisintä, ohjelmat yrittävät noudattaa ANSI-standardia ilman, että se rajoittaa niitä liikaa. Tämä puolestaan ​​johtaa satunnaisiin epäjohdonmukaisuuksiin. Tietokantaohjelmat antavat yleensä ANSI SQL:n lisäominaisuuksia ja usein löysää monia rajoituksia. Siksi myös yleisiä ANSI-variantteja harkitaan. Vaikka emme tietenkään voi kattaa kaikkia poikkeuksia tai muunnelmia, hyviä ideoita yleensä esitellään ja käytetään erilaisia ​​ohjelmia, vaikka niitä ei ole määritelty ANSI-standardissa. ANSI on eräänlainen vähimmäisstandardi, ja voit tehdä enemmän kuin mitä se sallii, vaikka sinun on noudatettava sen ohjeita suorittaessasi sen määrittelemiä tehtäviä.

Interaktiivinen ja sisäkkäinen SQL

SQL:itä on kaksi: interaktiivinen ja sisäkkäinen. Suurimmaksi osaksi molemmat muodot toimivat samalla tavalla, mutta niitä käytetään eri tavalla. Interaktiivista SQL:ää käytetään suoraan tietokannassa tuottamaan tulosteet asiakkaan käyttöön. Tässä SQL:ssä - kun annat komennon, se suoritetaan välittömästi, ja voit heti nähdä tulosteen (jos sellainen on).

Sisäkkäinen SQL koostuu SQL-komennoista, jotka on sijoitettu ohjelmiin, jotka on yleensä kirjoitettu toisella kielellä (kuten COBOL tai PASCAL). Tämä tekee sellaisista ohjelmista tehokkaampia ja tehokkaampia.

Kuitenkin sallimalla nämä kielet, sinun täytyy käsitellä SQL-rakenne ja tiedonhallintatyyli, joka vaatii joitain laajennuksia interaktiivinen SQL. SQL-komentojen välittäminen sisäkkäiseen SQL:ään "välitetään" sen ohjelman käyttämille muuttujille tai parametreille, joissa ne on sisäkkäistetty.

Tässä kirjassa esittelemme SQL:n interaktiivisella tavalla. Tämä antaa meille mahdollisuuden keskustella komennoista ja niiden toiminnoista huolehtimatta siitä, kuinka ne liittyvät muihin kieliin. Interaktiivinen SQL on hyödyllisin muoto muille kuin ohjelmoijille. Kaikki, mitä opit interaktiivisesta SQL:stä, koskee yleensä sisäkkäisiä lomakkeita. Sisäkkäisen lomakkeen käyttöön vaadittavat muutokset käsitellään tämän kirjan viimeisessä luvussa.

SQL-alaosat

Sekä interaktiivisilla että sisäkkäisillä SQL-muodoilla on useita osia tai alaosia. Koska tulet todennäköisesti törmäämään tähän terminologiaan lukiessasi SQL:ää, annamme selvennyksen. Valitettavasti näitä termejä ei käytetä yleisesti kaikissa toteutuksissa. ANSI määrittelee ne, ja ne ovat hyödyllisiä käsitteellisellä tasolla, mutta useimmat SQL-ohjelmat eivät juurikaan käsittele niitä erikseen, joten niistä tulee olennaisesti SQL-komentojen toiminnallisia luokkia.

  • DDL (Data Definition Language) - nimeltään Schema Description Language ANSI:ssa - koostuu komennoista, jotka luovat objekteja (taulukoita, indeksejä, näkymiä ja niin edelleen) tietokantaan.
  • DML (Data Manipulation Language) on joukko komentoja, jotka määrittävät mitkä arvot esitetään taulukoissa kulloinkin.
  • DCD (Data Control Language) koostuu työkaluista, jotka määrittävät, sallitaanko käyttäjän suorittaa tiettyjä toimintoja vai ei. He ovat komponentit DDL:stä ANSI:lle.

Älä unohda näitä nimiä. Nämä eivät ole eri kieliä, vaan funktioidensa mukaan ryhmiteltyjä SQL-komentojen osia.

Erilaisia ​​tietotyyppejä

Kaikki taulukon kentistä löytyvät arvotyypit eivät ole loogisesti samoja. Ilmeisin ero on numeroiden ja tekstin välillä. Numeroita ei voi laittaa aakkosjärjestyksessä tai vähennä yksi nimi toisesta.

Koska RDB-järjestelmät perustuvat tietojen välisiin yhteyksiin, erilaisia ​​tyyppejä tietojen on oltava erilaisia, jotta niille voidaan suorittaa asianmukaiset prosessit ja vertailut. SQL:ssä tämä tehdään määrittämällä jokaiselle kentälle tietotyyppi, joka ilmaisee kentän arvon tyypin. Kaikkien tämän kentän arvojen on oltava samaa tyyppiä. Esimerkiksi Asiakkaat-taulukossa cname ja city sisältävät arvioitavia tekstirivejä ja snum ja cnum ovat numeroita. Tästä syystä et voi syöttää arvoa Korkein tai arvo Ei mitään(Ei mitään) luokituskentässä, jossa on numeerinen tietotyyppi. Tämä rajoitus on hyvä, koska se asettaa tietyn rakenteen tiedoillesi. Vertaa usein joitakin tai kaikkia tietyn kentän arvoja, joten saatat haluta suorittaa toiminnon vain tietyt rivit, eikä ollenkaan. Et voi tehdä tätä, jos kenttäarvot olivat sekoitettuja tietotyyppejä.

Valitettavasti näiden tietotyyppien määrittely on tärkeä alue, jolla useimmat kaupalliset tietokantaohjelmat ja virallinen SQL-standardi eivät aina ole samaa mieltä. ANSI SQL -standardi tunnistaa vain tekstin ja numeron, kun taas useimmat kaupalliset ohjelmat käyttävät muita erikoistyyppejä. Kuten DATA ja TIME ovat itse asiassa melkein vakiotyyppejä (vaikka tarkka muoto ne muuttuvat). Jotkut paketit tukevat myös tyyppejä, kuten MONEY ja BINARY. (MONEY on tietokoneiden käyttämä erityinen "valuutta"järjestelmä.)

Kaikki tietokoneella olevat tiedot välitetään binääriluvut ja käännetty sitten muihin järjestelmiin, jotta voimme helposti käyttää ja ymmärtää niitä.

ANSI määrittelee useita numeeriset tyypit, joiden väliset erot ovat melko hienovaraisia ​​ja joskus hämmentyvät. Sallitut ANSI-tietotyypit on lueteltu liitteessä B. ANSI-numerotyyppien monimutkaisuus johtuu ainakin osittain pyrkimyksestä tehdä sisäkkäinen SQL yhteensopiva useiden muiden kielten kanssa. Kaksi ANSI-numerotyyppiä, INTEGER ja DECIMAL (jotka voidaan lyhentää INT ja DEC, vastaavasti), ovat riittäviä tarkoituksiinmme sekä useimpiin käytännön liiketoimintatarkoituksiin. sovellusohjelmia. Luonnollisesti INTEGER-tyyppi voidaan esittää DESIMAALILUKUNA, joka ei sisällä desimaalipilkun oikealla puolella olevia numeroita.

Tekstin tyyppi on CHAR (tai CHAR), joka viittaa tekstijonoon. Ala kirjoita CHAR on määritetty pituus enimmäismäärä merkit, jotka voidaan kirjoittaa tähän kenttään. Useimmissa toteutuksissa on myös VARCHAR-niminen ei-standardityyppi, joka on tekstimerkkijono ja voi olla minkä pituinen tahansa toteutuksen määrittelemään enimmäismäärään asti (yleensä 254 merkkiä). CHARACTER- ja VARCHAR-arvot sisältyvät yksittäisiin lainausmerkkeihin "tekstina". Ero CHAR:n ja VARCHARin välillä on se, että CHAR:n on varattava tarpeeksi muistia enimmäispituus merkkijonoja, ja VARCHAR varaa muistia tarpeen mukaan.

Hahmotyypit koostuvat kaikista painettuja merkkejä, mukaan lukien numerot. Numero 1 ei kuitenkaan ole sama kuin symboli "1". Merkki "1" on vain painettu teksti, jota järjestelmä ei ole määrittänyt numeeriseksi arvoksi 1. Esimerkiksi 1 + 1 = 2, mutta "1" + "1" ei ole sama kuin "2". Merkkiarvot tallennetaan tietokoneelle binääriarvoina, mutta ne näytetään käyttäjälle painettuna tekstinä.

Muunnos tehdään käyttämäsi järjestelmän määrittelemässä muodossa. Tämä muunnosmuoto on toinen kahdesta vakiotyypit(mahdollisesti laajennuksilla) käytetty tietokonejärjestelmät: ASCII-koodi (käytetään kaikissa henkilökohtaisissa ja pienissä tietokoneissa) ja EBCDIC (Extended Binary Decimal Information Interchange Code) -koodi (käytetään isot tietokoneet). Tietyt toiminnot, kuten kenttien arvojen aakkosjärjestys, muuttuvat muodon mukaan.

Meidän on seurattava markkinoita, ei ANSI:ta, käytettäessä DATE-tyyppiä. (Järjestelmässä, joka ei tunnista DATE-tyyppiä, voit tietysti ilmoittaa päivämäärän merkki- tai numerokentällä, mutta tämä tekee useimmista toiminnoista työvoimavaltaisempia.)

Tarkista käyttämäsi ohjelmistopaketin dokumentaatio, jotta saat selville, mitä tietotyyppejä se tukee.

SQL. Epäjohdonmukaisuudet.

Edellisestä keskustelusta voi ymmärtää, että SQL-maailman tuotteiden välillä on erillisiä eroja. SQL nousi kaupallisesta tietokantamaailmasta työkaluksi, ja siitä kehitettiin myöhemmin ANSI-standardi. Valitettavasti ANSI ei aina määritä, mikä on hyödyllisintä, joten ohjelmat yrittävät noudattaa ANSI-standardia antamatta sen rajoittaa niitä liikaa. ANSI on eräänlainen vähimmäisstandardi - voit tehdä enemmän kuin mahdollista, mutta sinun on voitava saada samat tulokset suorittaessasi samaa tehtävää.

MIKÄ ON "KÄYTTÄJÄ"?

SQL sijaitsee yleensä tietokonejärjestelmissä, joissa on useampi kuin yksi käyttäjä, ja siksi ne on erotettava toisistaan ​​(tietokoneperheessäsi voi olla kuinka monta käyttäjää tahansa, mutta sillä ei yleensä ole tapaa erottaa käyttäjää toisesta).

Tyypillisesti tällaisessa järjestelmässä jokaisella käyttäjällä on jonkinlainen oikeuksien vahvistuskoodi, joka tunnistaa hänet (terminologia vaihtelee). Tietokoneistunnon alussa käyttäjä kirjautuu sisään (rekisteröityy) ja kertoo tietokoneelle kuka käyttäjä on tunnistamalla itsensä tietyllä tunnuksella. Mikä tahansa määrä henkilöitä, jotka käyttävät pääsytunnusta, ovat yksittäisten käyttäjien toimesta; ja vastaavasti yksi henkilö voi edustaa suuri määrä käyttäjät (sis eri aikoina) käyttämällä erilaisia ​​SQL-käyttötunnuksia. Toiminnot useimmissa SQL-ympäristöissä lähetetään erityiseen Access Identifier -tunnukseen, joka vastaa täsmälleen tietty käyttäjä. Taulukon tai muun objektin omistaa käyttäjä, jolla on täysi hallintaoikeus siihen. Käyttäjällä voi olla tai ei saa olla oikeuksia suorittaa toiminto objektille. Meidän tarkoituksiamme varten hyväksymme, että kuka tahansa käyttäjä on tarvittavat etuoikeudet suorittaa mitä tahansa toimintoa, kunnes palaamme nimenomaan keskustelemaan oikeuksista luvussa 22. Erikoisarvoa KÄYTTÄJÄ voidaan käyttää argumenttina komennossa. Se osoittaa komennon antavan käyttäjän käytettävissä olevan tunnuksen.

Yleissopimukset ja terminologia

Avainsanat ovat sanoja, joilla on erityinen merkitys SQL:ssä. Ne voivat olla komentoja, mutta eivät tekstiä tai objektien nimiä. Korostamme avainsanat kirjoittamalla ne isoilla kirjaimilla. Sinun on varottava sekoittamasta avainsanoja termeihin.

SQL on varma erityisehdot, joita käytetään kuvaamaan sitä. Niiden joukossa ovat sellaiset sanat kuin "kysely", "lause" ja "predikaatti", jotka ovat tärkeimmät kielen kuvauksessa ja ymmärtämisessä, mutta eivät tarkoita mitään itsenäistä SQL:lle.

Komennot tai käskyt ovat ohjeita, joilla pääset SQL-tietokantaan.

Komennot koostuvat yhdestä tai useammasta erillisestä loogisesta osasta, joita kutsutaan lauseiksi.

Lausetet alkavat avainsanalla ja koostuvat avainsanoista ja argumenteista. Esimerkiksi lausekkeet, joita saatat kohdata, ovat "FROM Salespeope" ja "WHERE city = "London"". Argumentit täydentävät tai muuttavat lauseen merkitystä. Yllä olevissa esimerkeissä myyntihenkilöstö on argumentti ja FROM on avainsana FROM lausekkeet. Samoin "city = "Lontoo"" on argumentti WHERE-lauseelle.

Objektit ovat tietokantarakenteita, joille annetaan nimet ja jotka tallennetaan muistiin. Tämä sisältää perustaulukot, näkymät ja indeksit.

Näytämme sinulle, kuinka joukkueet muodostetaan, teemme tämän esimerkkien avulla. On kuitenkin olemassa muodollisempi menetelmä komentojen kuvaamiseen standardoidulla symboleja. Käytämme sitä myöhemmissä luvuissa helpottaaksemme näiden käytäntöjen ymmärtämistä siltä varalta, että törmäät niihin muissa SQL-dokumenteissa.

Hakasulkeet () osoittavat osia, joita ei saa käyttää, ja ellipsit (...) osoittavat, että kaikki niitä edeltävä voidaan toistaa kuinka monta kertaa tahansa. Kulmasulkeissa () olevat sanat ovat erikoistermejä, jotka selittävät, mitä ne ovat. Olemme yksinkertaistaneet SQL-standardin terminologiaa huomattavasti tekemättä sen ymmärtämistä vaikeaksi.

Jatkaa

Käsittelimme lyhyesti perusasiat tässä luvussa. Mutta tarkoituksemme oli katsoa nopeasti SQL:n perusteet jotta voit kattaa koko tiedon.

Tiedät nyt muutaman asian SQL:stä: mikä sen rakenne on, miten sitä käytetään, miten se edustaa dataa ja miten se määritellään (ja joitain siihen liittyviä epäjohdonmukaisuuksia), joitain käytäntöjä ja termejä niiden kuvaamiseen. Kaikki tämä on liikaa suuri määrä yhden luvun tiedot; Emme odota sinun muistavan kaikkia näitä yksityiskohtia, mutta voit palata niihin myöhemmin tarvittaessa.

SQL on strukturoitu kyselykieli. SQL:ää ei ole olemassa ilman tietokantoja - siihen ei voi kirjoittaa ohjelmia, eikä se tässä mielessä ole ohjelmointikieli kuten PHP, mutta kun joudut käsittelemään tiettyä DBMS:ää, et enää pärjää ilman SQL:n tuntemusta. Voit kirjoittaa siihen yksinkertaisia ​​kyselyitä tai suorittaa suuria tapahtumia, jotka koostuvat useista monimutkaisista kyselyistä. SQL-kysely on eräänlainen komento tietokantaan. Tällainen komento voi pyytää palauttamaan tietyt kriteerit täyttävät tiedot tai antaa ohjeita tietueiden poistamiseen jne. SQL-komento on yksinkertainen merkkijono, Esimerkiksi:

SELECT * FROM Henkilökunta WHERE-osastolta

SQL-kyselyt ovat yleensä lähellä yksinkertaista lauseketta englanti. Yllä oleva komento voidaan kääntää venäjäksi seuraavasti

VALITSE KAIKKI henkilöstöltä WHERE clwjiertme"

Se on täysin ymmärrettävä komento, on vain sääli, että se on kirjoitettu yksinomaan englanniksi. Tällaisen kyselyn suorittamisen seurauksena DBMS palauttaa kaikki Staff-taulukon tietueet, joissa lähtö* Mit_id-kenttä on yhtä suuri kuin kolme. Esimerkissämme tämä kysely itse asiassa valitsee vain ohjelmoijat koko työntekijäkunnasta.

Jos et ole aiemmin työskennellyt DBMS:n kanssa, sinulla voi olla järkevä kysymys: missä ja miten voit suorittaa tämä pyyntö? On kolme tapaa suorittaa SQL-kyselyitä.

1. Interaktiivinen ympäristö vuorovaikutusta varten DBMS:n kanssa. Useimmissa DBMS-palvelimissa on asiakasohjelmia (sisäänrakennettuja tai kolmansien osapuolien toimittamia). työympäristö johon voit kirjoittaa SQL-kyselyitä, suorittaa ne ja saada tuloksen. Tyypillisesti tietokannan ylläpitäjät käyttävät tällaisia ​​työkaluja, eivätkä ne liity suoraan PHP-ohjelmointiin. Esimerkki asiakasohjelmasta MySQL:n kanssa työskentelemiseen on MySQL Administrator -ohjelma (http: /www.mysgl.coin/product-s/administratoT/) tai erittäin suosittu PHP-järjestelmä phpMyAdmin (http: //www. phpmyadi'ln. r»et /itummjiage/index.php). Alkuun se riittää asennettu jakelu, jossa on konsolikäyttöliittymä. Linuxissa se on tarpeen alkaen komentorivi kirjoita mysql-komento avataksesi ikkunan, joka kehottaa sinua syöttämään SQL-kyselyitä, ja käynnistääksesi saman käyttöliittymän Windowsissa mysql tiedosto. exe bin-hakemistosta.

2. Staattiset SQL-kyselyt. Tyypillisesti tällaiset kyselyt kirjoitetaan itse tietokantoihin tallennettuihin proseduureihin tai koodataan itse sovelluksiin. Staattinen SQL-kysely on ennalta määritetty ja muuttuu vain, jos ohjelma tai tallennettu toimintokoodi kirjoitetaan manuaalisesti uudelleen. PHP:stä tällainen SQL-kysely suoritetaan käyttämällä erikoistoiminnot, josta keskustellaan alla.

3. Dynaamiset SQL-kyselyt. TO tätä lajia Nämä ovat kyselyitä, joita ei voida täysin määritellä hakemusta kirjoitettaessa. i" esimerkiksi, kun kirjoitetaan ohjelmaa työntekijöiden luettelon saamiseksi" mt yrityksen eri osastoja, ohjelmoija ei tiedä, ci "> yrityksen divisioonoista ja siitä, ketkä työntekijät niihin sisällytetään i„. Tietenkin , nämä tiedot voidaan kirjoittaa ohjelmaan tiukasti, mutta kun ensimmäinen muutos yrityksen rakenteeseen voidaan heittää pois tai se on kirjoitettava uudelleen Dynaamisten kyselyiden avulla voit luoda ohjelmia, jotka ovat joustavia muutoksia varten PHP:ssä tällaisia ​​kyselyjä suorittavat lähes samat toiminnot kuin staattiset, vain ne ovat erilaisia. Joitakin parametreja ei voi välittää.

Yhteenvetona edellä kuvatuista kolmesta kohdasta voidaan sanoa, että SQL-kyselyt suoritetaan erityisistä hallintaohjelmista tai eri tavoin PHP-skripteistä.

Koska DBMS ratkaisee monia ongelmia, SQL pakotetaan myös olemaan monitoimikieli. Toimintoja voi olla useita< \ ществлять с помощью SQL.

1. Tietokannan rakenteen määritelmä. Tämä tyyppi sisältää kyselyt, jotka luovat ja muokkaavat taulukoita ja indeksejä. Nämä ovat yleensä CRE-komentoja; "E TA' LE, ALI'R TA" LE, " " '.TE INDEKSI jne.

2. Tietojen käsittely. Tämä tyyppi sisältää kyselyt tietojen lisäämiseksi (siirtämiseksi), poistamiseksi tai muuttamiseksi taulukoihin. Nämä ovat kolme pääkomentoa: INSERT. POISTA JA PÄIVITYS.

3. Tietojen valinta Tämä sisältää vain yhden SELECT-komennon. Se ei tee muutoksia itse tietoihin, mutta antaa sinun hakea ne tietokannasta. Vaikka tietojen hakemiseen käytetään vain yhtä komentoa, se on erittäin tehokas ja sitä käytetään hyvin usein sovelluksissa.

4. DBMS-palvelimen hallinta. Tämä tyyppi sisältää pääasiassa kyselyitä, joilla hallinnoidaan käyttäjiä ja heidän käyttöoikeuksiaan (esimerkiksi GRANT-komento).

Hyvä SQL:n tuntemus helpottaa huomattavasti ohjelmoijan työtä tietokannan parissa. Sovellukset voivat olla pieniä, mutta niillä on hyvät toiminnot vain siksi, että SQL hoitaa monia tehtäviä.

Kuten kaikilla muilla IT-alueilla, SQL:ssä on standardeja - nämä ovat ANSI SQL. Lyhenne ANSI tarkoittaa Amrican National Standards Institutea. Kuitenkaan ei vähiten siksi, että SQL DBMS:iden toiminnallisuudet ovat erilaisia

DBMS:t eroavat edelleen toisistaan. Tällä hetkellä lähes jokaisella DBMS:llä on oma murre, joka ei yleensä poikkea paljon yleisestä standardista, mutta jolla on omat ominaisuutensa. Esimerkiksi PL/SQL-kieli on yhteensopiva Oraclen ja PostgreSQL:n kanssa, ja T-SQL:ää käytetään toimimaan MS SQL Serverin kanssa.

Myöhemmässä tietokantojen työskentelyssä suosittelemme heti tutkimaan standardia, jonka kanssa aiot työskennellä tulevaisuudessa. Useimmille Web-kehittäjille toiminnallisuus on tässä vaiheessa ylivoimaista. MySQL DBMS(lisäksi sitä voidaan käyttää ilmaiseksi), joten tässä kirjassa kaikki esimerkit MySQL:stä annetaan vastaavasti tämän DBMS:n murteella. MySQL-kyselykielen dokumentaatio löytyy osoitteesta www.mysql.com.

Oletko uusi ohjelmoinnissa vai oletko yksinkertaisesti välttänyt SQL:n oppimista aiemmin? Sitten olet törmännyt oikeaan osoitteeseen, koska jokainen kehittäjä joutuu lopulta tuntemaan tämän kyselykielen. Et ehkä ole päätietokannan suunnittelija, mutta on lähes mahdotonta välttää heidän kanssaan työskentelemistä. Toivon, että tämä lyhyt katsaus SQL-kyselyn perussyntaksiin auttaa kiinnostunutta kehittäjää ja kaikkia muita sitä tarvitsevia.

Mikä on SQL-tietokanta?

Strukturoitu kyselykieli ( S jäsennelty K uery L kieli) on ANSI:n tukema tietokantaviestintästandardi. eniten uusin versio– SQL-99, vaikka uusi standardi on jo kehitteillä. Useimmat tietokannat noudattavat tiukasti ANSI-92-standardia. On ollut paljon keskustelua lisäämisestä nykyaikaiset standardit, mutta kaupalliset tietokantatoimittajat ovat siirtymässä tästä pois uusilla tallennettujen tietojen tallennuskonseptilla. Melkein jokainen tietokanta käyttää joitain ainutlaatuinen setti syntaksi, vaikkakin hyvin samanlainen kuin ANSI-standardi. Useimmissa tapauksissa tämä syntaksi on perusstandardin laajennus, vaikka on tapauksia, joissa tämä syntaksi tuottaa erilaisia ​​tuloksia eri tietokannoille. On aina hyvä idea käydä läpi tietokannan dokumentaatio, varsinkin jos saat odottamattomia tuloksia.

Jos olet uusi SQL:n käytössä, sinun on ymmärrettävä joitain peruskäsitteitä.

Yleisesti ottaen "tietokanta" on yleinen nimi varten relaatiojärjestelmä tietokannan hallinta(RDBMS). Joissakin järjestelmissä "tietokanta" tarkoittaa myös ryhmää taulukoita, tietoja ja konfiguraatiotietoja, jotka ovat luonnostaan erillinen osa muista vastaavista malleista. Tässä tapauksessa jokainen asennus SQL-tietokanta tiedot voivat koostua useista tietokannoista. Muissa järjestelmissä niitä kutsutaan taulukoiksi.

Taulukko on tietokantarakenne, joka koostuu sarakkeita sisältävät rivit tiedot. Yleensä taulukot luodaan sisältämään liittyvät tiedot. Samaan tietokantaan voidaan luoda useita taulukoita.

Jokainen sarake edustaa objektien attribuuttia tai attribuuttijoukkoa, kuten työntekijän tunnusnumerot, pituus, auton väri jne. Termi, jota käytetään usein viittaamaan sarakkeeseen, on ala ilmoittamalla nimen, esimerkiksi "Nimi-kentässä". Merkkijonokenttä on minimaalinen elementti taulukoita. Jokaisella taulukon sarakkeella on tietty nimi, tietotyyppi ja koko. Sarakkeiden nimien on oltava yksilöllisiä taulukossa.

Jokainen rivi (tai tietue) edustaa tietyn objektin attribuuttien kokoelmaa, esimerkiksi rivi voi sisältää tunnistenumero työntekijä, hänen palkansa määrä, syntymävuosi jne. Taulukon riveillä ei ole nimiä. Päästäkseen tiettyyn riviin käyttäjän on määritettävä jokin attribuutti (tai attribuuttijoukko), joka yksilöi sen.

Yksi niistä kriittisiä operaatioita, jotka suoritetaan tietojen kanssa työskennellessä, on tietokantaan tallennettujen tietojen valinta. Tätä varten käyttäjän on suoritettava pyytää(kysely).

Tarkastellaan nyt tärkeimpiä tietokantakyselyjen tyyppejä, jotka keskittyvät tietokannan tietojen käsittelyyn. Meidän tarkoituksiamme varten kaikki esimerkit tarjotaan vakio-SQL:llä sopimaan mihin tahansa ympäristöön.

Tietokyselyjen tyypit

SQL:ssä on neljä päätyyppiä tietokyselyitä, joita kutsutaan nimellä tietojen käsittelykieli(Datan Manipulation Language tai DML):

  • VALITSE– valitse rivit taulukoista;
  • LISÄÄ– lisää rivejä taulukkoon;
  • PÄIVITTÄÄ– muuta taulukon rivejä;
  • POISTAA– poista rivit taulukosta;

Jokaisella näistä kyselyistä on eri operaattoreita ja toimintoja, joita käytetään suorittamaan joitain toimintoja tiedoille. SELECT-kyselyssä on eniten vaihtoehtoja. Niitä on myös lisätyyppejä SELECT:n yhteydessä käytettävät kyselyt, kuten JOIN ja UNION. Mutta toistaiseksi keskitymme vain peruskyselyihin.

Valitse haluamasi tiedot SELECT-kyselyllä

Tietokantaan tallennettujen tietojen hakemiseen käytetään VALITSE kysely. Perustoiminto Tämä kysely on rajoitettu yhteen taulukkoon, vaikka on olemassa malleja, jotka mahdollistavat näytteenoton useista taulukoista samanaikaisesti. Jotta saadaan kaikki tietorivit tiettyjä sarakkeita varten, käytetään seuraavaa kyselyä:

SELECT sarake1, sarake2 FROM taulukon_nimi;

Voit myös saada kaikki sarakkeet taulukosta käyttämällä jokerimerkki *:

SELECT * FROM taulukon_nimi;

Tästä voi olla hyötyä, jos aiot valita tietyn datan WHERE kunto. Seuraava kysely palauttaa kaikki sarakkeet kaikilta riveiltä, ​​joissa "sarake1" sisältää arvon "3":

= (on yhtä kuin) lisäksi seuraavat ehdolliset operaattorit:

Lisäksi voit käyttää BITWEEN- ja LIKE-ehtoja vertaillaksesi WHERE-ehtoja sekä AND- ja OR-operaattorien yhdistelmiä.

Mitä venäjänkielinen käännös tarkoittaa: valitse kaikki rivit taulukosta taulukon_nimi, jossa ikäsarakkeen arvo on suurempi tai yhtä suuri kuin 18 ja Sukunimi-sarakkeen arvo on aakkosalueella Ivanovista Sidoroviin, tai arvo Yritys-sarakkeessa on Motorola.

INSERT-kyselyn käyttäminen uuden tiedon lisäämiseen

INSERT-kysely on tottunut luominen uusi rivi tiedot. Jos haluat päivittää olemassa olevat tiedot tai tyhjiä rivikenttiä, sinun on käytettävä UPDATE-kyselyä.

Esimerkki INSERT-kyselyn syntaksista:

INSERT INTO taulukon_nimi (sarake1, sarake2, sarake3) ARVOT ("data1", "data2", "data3");

Jos aiot lisätä kaikki arvot siinä järjestyksessä, jossa taulukon sarakkeet näkyvät, saatat haluta jättää sarakkeiden nimet pois, vaikka tämä on parempi luettavuuden vuoksi. Lisäksi, jos luet sarakkeita, sinun ei tarvitse luetella niitä siinä järjestyksessä, jossa ne näkyvät tietokannassa, kunhan antamasi arvot vastaavat tätä järjestystä. Älä luettele sarakkeita, jotka eivät sisällä tietoja.

Jo muuttumassa olemassa olevaa tietoa tietokannassa hyvin samalla tavalla.

PÄIVITYS Kysely ja WHERE -ehto

UPDATE-toimintoa käytetään olemassa olevien arvojen muuttamiseen tai kentän vapauttamiseen rivissä, joten uusien arvojen on vastattava toisiaan olemassa olevaa tyyppiä tiedot ja anna hyväksyttävät arvot. Jos et halua muuttaa kaikkien rivien arvoja, sinun on käytettävä WHERE-lausetta.

Voit käyttää WHERE-komentoa missä tahansa sarakkeessa, myös siinä, jota haluat muuttaa. Tätä käytetään, kun tietty arvo on korvattava toisella.

Olla varovainen! DELETE-kysely poistaa kokonaisia ​​rivejä

DELETE-kysely poistaa rivin kokonaan tietokannasta. Jos haluat poistaa yhden kentän, sinun on käytettävä PÄIVITYSpyyntöä ja asetettava tämä kenttä arvoon, joka on analoginen ohjelmasi NULL-arvon kanssa. Rajoita DELETE-kysely WHERE-lauseeseen, sillä muuten saatat menettää taulukon koko sisällön.

Kun rivi on poistettu tietokannastasi, sitä ei voi palauttaa, joten on suositeltavaa, että sinulla on sarake nimeltä "IsActive" tai jotain vastaavaa, jonka voit muuttaa tyhjäksi, mikä osoittaa, että näkymän tiedoista tuo rivi on lukittu.

Nyt tiedät SQL-kyselyjen perusteet

SQL on tietokantakieli, ja olemme käsitelleet tärkeimmät ja peruskomennot, käytetään tietokyselyissä. On monia ydinkäsitteitä, joita ei käsitelty (esimerkiksi SUM ja COUNT), mutta muutamat yllä luettelemamme komennot rohkaisevat sinua aktivoitumaan ja syventymään upeaan SQL-kyselykieleen.

SQL yavl. tarkoitettu työkalu tietokoneen sisältämien tietojen käsittelyyn ja lukemiseen. DB. SQL on ennen kaikkea informaatioloogista. kieli, tarkoitettu relaatiotietokantoihin tallennettujen tietojen kuvaamiseen, muokkaamiseen ja hakemiseen. SQL on lyhenne sanoista Strukturoitu kyselykieli) . SQL:ää käytetään käyttäjien vuorovaikutuksen järjestämiseen tietokannan kanssa. Itse asiassa SQL toimii vain relaatiotietokantojen kanssa tyyppi . Tietokantaa hallitsevaa tietokoneohjelmaa kutsutaan tietokannan hallintajärjestelmä, tai DBMS . Jos käyttäjä tarvitsee lukee tietoja tietokannasta, se pyytää sitä DBMS:ltä pom:lla. SQL. DBMS käsittelee pyynnön, löytää tarvittavat tiedot ja lähettää sen käyttäjälle. Tietojen pyytämisen ja tuloksen saamisen prosessia kutsutaan pyytää tietokantaan: tästä nimi - jäsennelty kyselykieli. Huolimatta siitä, että tietojen lukeminen on edelleen yksi tärkeimmistä. tärkeä SQL-funktiot, nyt tätä kieltä käytetään toteuttamaan kaikki toiminnallisuutta, kissa. DBMS tarjoaa käyttäjälle, nimittäin:

Tietojen järjestäminen. SQL antaa käyttäjälle mahdollisuuden muuttaa tietojen esittämisen rakennetta sekä luoda suhteita tietokantaelementtien välille.

Tietojen lukeminen. SQL antaa käyttäjälle tai sovellukselle mahdollisuuden lukea ja käyttää tietokannan sisältämiä tietoja.

Tietojenkäsittely. SQL antaa käyttäjälle tai sovellukselle mahdollisuuden... muuttaa tietokantaa, ts. lisätä siihen uusia tietoja sekä poistaa tai päivittää olemassa olevia tietoja.

Kulunvalvonta. Assistentin kanssa SQL voi rajoittaa käyttäjän kykyä lukea ja muuttaa tietoja ja suojata niitä luvattomalta käytöltä.

Jakaminen tiedot. SQL koordinoi tietojen jakamista käyttäjien ja samanaikaisten työntekijöiden välillä, jotta he eivät häiritse toisiaan.

Tietojen eheys. SQL:n avulla voit varmistaa tietokantojen eheyden ja suojata niitä epäjohdonmukaisten muutosten tai järjestelmävikojen aiheuttamalta tuhoutumiselta.

SQL on siis riittävän tehokas kieli vuorovaikutukseen DBMS:n kanssa.

SQL:n edut.

SQL on helposti ymmärrettävä kieli ja samalla monipuolinen tiedonhallintaohjelmisto.

Seuraavat ominaisuudet toivat menestystä SQL-kielelle:

Riippumattomuus tietystä DBMS:stä;

Siirrettävyys tietokonejärjestelmästä toiseen;

standardien saatavuus;

Suhteelliset puitteet;

Korkean tason rakenne;

Mahdollisuus suorittaa erityisiä interaktiivisia kyselyitä:

Turvallisuus ohjelmiston pääsy tietokantoihin;

Mahdollisuus erilaisten tietojen esittämiseen;

Täydellisyys kielenä, joka on suunniteltu toimimaan tietokantojen kanssa;

Mahdollisuus dynaamiseen tietojen määritykseen;

Asiakas/palvelin arkkitehtuurin tuki.

Kaikki edellä mainitut tekijät ovat syynä siihen, miksi SQL:stä on tullut vakiotyökalu henkilökohtaisten tietokoneiden tiedonhallintaan.

37 Peruskielen lauserakenteet kyselyissä

Jokainen SQL-lause on pyytää tai pääsy tietokantaan, mikä johtaa muutokseen tietokannassa. Sen mukaan, mitä muutoksia tietokannassa tapahtuu, erotetaan seuraavat kyselytyypit:

Pyytää luoda tai muuttaa uusia tai olemassa olevia objekteja tietokannassa (tässä tapauksessa pyyntö kuvaa luotavan tai muutettavan objektin tyyppiä ja rakennetta);

Tietopyynnöt;

Pyynnöt lisätä uusia tietoja (tietueita)

Tietojen poistopyynnöt;

Kutsut DBMS:ään.

Mikä tahansa pyyntö on kielellä kirjoitettu ohjelma jäsennellyt kyselyt SQL. Itse asiassa SQL-ohjelma on kyselylause englanninkieliselle datanäytteelle, joka on kirjoitettu tietyssä rakenteessa, jonka DBMS sitten muuntaa vaadituksi tulokseksi.

Useimmissa DBMS-järjestelmissä lause päättyy ";" ja DBMS ei käsittele tietoja ennen kuin se kohtaa ";". Lauseet koostuvat lauseista ja alkavat rekisteröidyllä sanalla. Jokaisella lauseella on nimi.

Joidenkin nimitykset SQL-perusoperaattoreita:

VALITSE(select) – (valitse) tiedot määritetyistä sarakkeista ja (tarvittaessa) suorittaa niiden muunnos määritettyjen lausekkeiden ja (tai) funktioiden mukaisesti ennen tulostamista; FROM– osoittaa taulukon, josta kentät on valittu; JOSSA– luo ehdon tietueiden tietojen valitsemiselle; TILAA– lajittelee tietueet tiettyyn järjestykseen; GROUP BY– ryhmittelee vastaavat tietueet tiivistelmäkyselyitä suoritettaessa; DISTINCTROW– jättää päällekkäiset tietueet pois tulosjoukosta; MUUTTAA– arvioi lausekkeet ristikkäiskyselyissä; PIVOT– Määrittää ristiinkyselytaulukon sarakeotsikot.

Tietoja ehdotuksesta VALITSE. Kaikki pyynnöt saada melkein mikä tahansa tietomäärä yhdeltä tai useammalta. taulukot suoritetaan yhdellä SELECT lausekkeet. Yleensä SELECT-lauseen toteutuksen tulos on toinen taulukko. SELECT-toimintoa voidaan soveltaa uudelleen tähän uuteen (työ)taulukkoon jne., ts. tällaiset toiminnot voidaan upottaa toisiinsa. Historiallisesti kiinnostavaa on, että se on mahdollisuus mm. yksi SELECT-lause toisen sisällä oli käytön motiivi. adjektiivi "strukturoitu" SQL-kielen nimessä. Käytetyissä malleissa. symbolit: tähti (*) ilmaisemaan "kaikki" – käytetty. ohjelmoinnin tavanomaisessa merkityksessä, ts. "kaikki tapaukset, jotka täyttävät määritelmän"; (,) – espanja erottaa luettelon elementit;

36-37. Erityinen - kielen tyyli SQL . Perusrakenteet kielilauseita kyselyissä (a/c)

SQL - Strukturoitu kyselykieli. Tiedontuotanto - yhtenäisempi. Tämä johti tarpeeseen luoda standardikieli, joka voisi

SELECT SQL:ssä (yhdelle taulukolle): VALITSE(valitse) määritetyt kentät

FROM(alkaen) määritetystä taulukosta

JOSSA(jossa) jokin määritelty ehto on tosi

SELECT list_of_elements (kentät), jotka valitaan

FROM table_list (tai näkymä)

]

AS-määritteen käyttäminen

Tämä tarkenne korvaa tuloksena olevassa taulukossa olemassa oleva nimi sarakkeessa annettuun.

Aggregaattifunktiot

Aggregointifunktiot sisältävät funktioita, joilla lasketaan arvosarakkeiden summa (SUM), maksimi (SUM) ja min (MIN), aritmeettinen keskiarvo (AVG) ja tietyn ehdon täyttävien rivien lukumäärä (COUNT).

SELECT määrä(*), summa (budjetti), keskiarvo (budjetti),

min (budjetti), max (budjetti)

WHERE head_dept = 100

laske: osaston 100 (Markkinointi ja myynti) alaosastojen lukumäärä, niiden kokonais-, keski-, minimi- ja maksimibudjetit COUNT SUM AVG MIN MAX

5 3800000.00 760000.00 500000.00 1500000.00

SELECT-komennon FROM-lause

FROM-lause luettelee kaikki objektit (yksi tai useampi), joista tiedot haetaan. Jokainen kyselyssä viitattu taulukko tai näkymä on lueteltava FROM-lauseessa.

WHERE-lauseessa käytetyt predikaattityypit :

vertailu käyttämällä relaatiooperaattoreita

Yhtä<>ei yhtä suuri!= ei yhtä suuri > suurempi kuin< меньше

>= suurempi tai yhtä suuri kuin<= меньше или равно

VÄLILLÄ SISÄLTÄÄ ON NULL

Vertailutoiminnot Jos tietokannassa on määritetty toimialueita, vertailtavien kohteiden on kuuluttava samaan toimialueeseen.

SELECT etunimi, sukunimi, osaston nro,

WHERE työmaa<>"USA"

VÄLILLÄ

BETWEEN-predikaatti määrittää arvoalueen, jolle lauseke evaluoituu tosi. On myös sallittua käyttää NOT BETWEEN -rakennetta.

MISSÄ palkka 20000-30000

saada luettelo työntekijöistä, joiden vuosipalkka on yli 20 000 ja alle 30 000 FIRST_NAME LAST_NAME SALARY

Ann Bennet 22935,00

Kelly Brown 27 000,00

Arvot, jotka määrittävät alemman ja ylemmän alueen, eivät välttämättä ole tietokannan todellisia arvoja. Ja tämä on erittäin kätevää - koska emme voi aina ilmoittaa alueiden tarkkoja arvoja!

VALITSE etunimi, sukunimi, palkka

WHERE sukunimi "Nel" ja "Osb" VÄLILLÄ

hanki luettelo työntekijöistä, joiden sukunimet ovat "Nel" ja "Osb" välillä FIRST_NAME LAST_NAME PALKKA

Robert Nelson 105 900,00

Carol Nordstrom 42742,50

Sue Anne O'Brien 31275,00

VALITSE etunimi, sukunimi, vuokrauspäivä

IN IN-predikaatti tarkistaa, sisältyykö "IN"-avainsanaa edeltävä määritetty arvo (esimerkiksi sarakkeen arvo tai sarakkeen funktio) suluissa määritettyyn luetteloon. Jos määritetty testattava arvo on yhtä suuri kuin mikä tahansa luettelon elementti, predikaatin arvo on tosi. On myös sallittua käyttää NOT IN -rakennetta.

VALITSE etunimi, sukunimi, työn_koodi

WHERE job_code IN ("VP", "Admin", "finan")

PITÄÄ LIKE-predikaattia käytetään vain merkkidatan kanssa. Se tarkistaa, vastaako annettu merkkiarvo määritettyä maskia sisältävää merkkijonoa. Maskina käytetään kaikkia sallittuja merkkejä (mukaan lukien isot ja pienet kirjaimet) sekä erikoismerkkejä:

% - korvaa minkä tahansa määrän merkkejä (mukaan lukien 0),

Korvaa vain yhden merkin.

On myös sallittua käyttää NOT LIKE -rakennetta.

VALITSE etunimi, sukunimi

MISSÄ sukunimi LIKE "F%"

saada luettelo työntekijöistä, joiden sukunimet alkavat kirjaimella "F" FIRST_NAME LAST_NAME

Loogiset operaattorit Loogisia operaattoreita ovat tunnetut operaattorit AND, OR, NOT, joiden avulla voit suorittaa erilaisia ​​loogisia operaatioita: looginen kertolasku (AND, "ehtojen leikkaus"), looginen yhteenlasku (OR, "ehtojen liitto"), looginen negaatio ( EI, "ehtojen kieltäminen"). Esimerkeissämme olemme jo käyttäneet AND-operaattoria. Näitä operaattoreita käyttämällä voit joustavasti "mukauttaa" tietueiden valintaehdot.

Yhteys ( LIITY ) Liitosoperaatiota käytetään SQL:ssä useisiin taulukoihin tallennettujen liittyvien tietojen näyttämiseen yhdessä kyselyssä. Linkittäminen tehdään yleensä käyttämällä yhden taulukon perusavainta ja toisen taulukon viiteavainta - jokaiselle taulukkoparille. On erittäin tärkeää ottaa huomioon kaikki vierasavaimen kentät, muuten tulos vääristyy. Yhdistettävät kentät voivat (mutta ei pakollisia!) olla valittavissa olevien elementtien luettelossa. WHERE-lause voi sisältää useita liittymisehtoja. Liitosehto voidaan yhdistää myös muiden WHERE-lauseen predikaattien kanssa.