Kyselyn tulosten tarkentaminen SQL-lauseita muokkaamalla

Kyselyn tulosten tarkentaminen SQL-lauseita muokkaamalla

Tärkeää: Tämä on artikkeli on käännetty koneellisesti. Lue vastuuvapauslauseke. Tämän artikkelin englanninkielinen versio on täällä .

Jos kyselyt eivät toimi riittävän hyvin, voit tarkentaa tuloksia lisäämällä joitakin SQL-peruslauseita. Artikkelissa kerrotaan muutamista SQL-lauseista ja niiden lausekkeista tai osista, joita voit muokata.

Huomautus: Tämä artikkeli ei koske Access-verkkosovelluksia eli tietokantaa, jonka voit suunnitella Accessilla ja julkaista verkossa.

Tämän artikkelin sisältö

Select-lauseen luominen

SELECT-lauseen mukauttaminen

FROM-lauseen mukauttaminen

WHERE-lauseen mukauttaminen

Mukauttaminen UNION-operaattorilla

SELECT-lauseen luominen

SQL-valintalauseet koostuvat kahdesta tai kolmesta osasta. SELECT-lause kertoo tietokannalle, mistä tietoa etsitään, ja pyytää palauttamaan tietyn tuloksen.

Huomautus: SELECT-lauseet päättyvät aina puolipisteseen (;). Puolipiste merkitään joko viimeisen lausekkeen loppuun tai omalle rivilleen SQL-lauseen loppuun.

Esimerkin valintalause pyytää Accessiä hakemaan tietoa sähköpostiosoitteen ja yrityksen sarakkeista sekä yhteystietojen taulukosta, erityisesti Kaupunki-sarakkeesta, jossa lukee "Seattle".

SQL-objektivälilehti, jossa näkyy SELECT-komento

Edellisessä kyselyssä on kolme lausetta: SELECT, FROM ja WHERE.

1. SELECT-lauseke luettelee sarakkeet, joissa haluamasi tiedot ovat, ja sisältää operaattorin (SELECT), jonka perässä on kaksi tunnistetta (sähköpostiosoite ja yritys). Jos tunnisteessa on välilyöntejä tai erikoismerkkejä, kirjoita tunniste hakasulkeisiin.

2. FROM-lausekkeella tunnistetaan lähdetaulukko. Tässä esimerkissä operaattoria (FROM) seuraa tunniste (Yhteystiedot).

3. WHERE-lauseke on valinnainen lauseke. Esimerkissä on operaattori (WHERE) ja sen perässä lauseke (Kaupunki="Seattle").

Lisätietoja on artikkelissa hakukyselyjä yksinkertaisen kyselyn luominen.

Oheisessa luettelossa mainitaan yleisimmät SQL-lauseet.

SQL-lause

Kuvaus

Pakollinen ?

SELECT

Määrittää kentät, joissa on halutut tiedot.

Kyllä

FROM

Määrittää taulukot, joissa on SELECT-lauseessa mainitut kentät.

Kyllä

WHERE

Määrittää kenttätason ehdot, jotka kunkin tulokseen sisällytettävän tietueen on täytettävä.

Ei

ORDER BY

Määrittää tulosten lajittelutavan.

Ei

GROUP BY

Määrittää koostefunktioita sisältävässä SQL-komennossa kentät, joista SELECT-lause ei tee yhteenvetoa.

Vain jos tällaisia kenttiä on.

HAVING

Määrittää koostefunktioita sisältävässä SQL-lauseessa ehdot, jotka liittyvät kenttiin, joista SELECT-lause tekee yhteenvedon.

Ei

Jokainen SQL-lause koostuu ehdoista. Ohessa luetellaan yleisimmät SQL-ehdot.

SQL-ehto

Määritelmä

Esimerkki

tunniste

Sarakkeen nimi tai muu nimi, jota käytetään tietokantaobjektin tunnistukseen.

[Sähköpostiosoite] ja yritys

operaattori

Avainsana, joka edustaa toimintoa tai tarkentaa sitä.

AS

vakio

Muuttumaton arvo, kuten luku tai NULL.

42

ilmaus

Tunnisteiden, operaattoreiden, vakioiden ja funktioiden yhdistelmä, joka tuottaa yhden arvon.

>= Tuotteet.[Yksikköhinta]

Sivun alkuun

SELECT-lauseen mukauttaminen

Mukauttaminen

Esimerkki

Pelkkien DISTINCT-arvojen näyttö.

Käytä DISTINCT-avainsanaa SELECT-lauseessa.

Jos esimerkiksi asiakkaasi toimivat useissa eri haarakonttoreissa, joillakin on sama puhelinnumero ja haluat näyttää puhelinnumeron tuloksissa vain kerran, SELECT-lause muodostetaan seuraavasti:

SELECT DISTINCT [txtCustomerPhone] 

Luettavuutta voidaan parantaa muuttamalla tunnisteen näyttötapaa taulukkonäkymässä.

Käytä SELECT-lauseessa AS-operaattoria (avainsana, joka edustaa toimintoa tai muokkaa toimintoa) sekä kentän aliasta. Kentän aliaksella tarkoitetaan nimeä, joka määritetään kyselyn kentälle, jotta kyselyn tulosta olisi helpompi lukea.

SELECT [txtCustPhone] AS [Customer Phone]

FROM-lauseen mukauttaminen

Mukauttaminen

Esimerkki

Voit käyttää taulukon tunnusta tai eri nimeä, jonka kohdistat taulukkoon valintalauseessa. Taulukon tunnuksesta on apua pitkien taulukon nimien kanssa erityisesti, kun useilla eri taulukoista saaduilla kentillä on sama nimi.

Tietojen valinta kahdesta ID-nimisestä kentästä, joista toinen on peräisin taulukosta tblAsiakas ja toinen taulukosta tblTilaus:

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Käytä AS-operaattoria taulukon tunnuksien määrittämiseen FROM-lauseessa:

FROM [tblCustomer] AS [C], 
[tblOrder] AS [O]

Tämän jälkeen SELECT-lauseessa voi käyttää näitä taulukoiden tunnuksia seuraavasti:

SELECT [C].[ID], 
[O].[ID]

Käytä liitoksia, kun haluat yhdistää tietuepareja kahdesta tietolähteestä yhteen tulokseen tai määrittää, sisällytetäänkö toisen taulukon tietueet, jos liittyvässä taulukossa ei ole vastaavaa tietuetta.

Liitä taulukot niin, että kysely yhdistää molempien taulukoiden kohteet ja sulkee pois kohteet, jos toisessa taulukossa ei ole vastaavaa tietuetta

FROM-lause voi näyttää tältä:

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Lisätietoja liitosten käytöstä

Liitostyyppejä on kaksi: sisäliitos ja ulkoliitos. Sisäliitokset ovat yleisimpiä kyselyissä. Kun sisäliitoksen sisältävä kysely suoritetaan, tuloksessa näkyvät vain ne kohteet, joiden kummassakin liitetyssä taulukossa on yhteinen arvo.

Ulkoliitokset määrittävät, sisällytetäänkö tiedot, joissa ei ole yhteisiä arvoja. Ulkoliitoksissa määritetään suunta. Voit siis määrittää, sisällytetäänkö liitokseen ensimmäisen taulukon kaikki tietueet (vasen liitos) tai toisen taulukon kaikki tietueet (oikea liitos). Ulkoliitoksen SQL-syntaksi:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Saat näkyviin lisätietoja liitosten kyselyn taulukoiden ja kyselyjenavulla.

Sivun alkuun

WHERE-lauseen mukauttaminen

WHERE-lauseen sisältää ehtoja, joka auttaa kyselyssä palautetut kohteiden määrän rajoittaminen. Katso Esimerkkejä kyselyjen ehdoista ja miten ne toimivat.

WHERE-peruslausetta voidaan mukauttaa esimerkiksi rajaamalla kyselyn tuloksia. Kun esimerkiksi haluat etsiä asiakkaan puhelinnumeron, mutta muistat ainoastaan tämän sukunimen Bagel. Tässä esimerkissä sukinimet on tallennettu Sukunimi-kenttään. SQL-syntaksi on siis

WHERE [LastName]='Bagel'

WHERE-lauseen avulla myös yhdistää sarakkeita, joilla on samat tiedot, mutta erilaisia tietotyyppejä tietolähteet. Tämä on hyödyllinen, koska et voi luoda kenttiä, joissa on eri tietotyyppien välille. Käyttää yhden kentän ehtona toisen kentän, kuten avainsanan kanssa. Jos haluat käyttää tietoja kalusto-taulukosta ja Työntekijät-taulukko, vain silloin, kun annetaan kohteen tyypin Kirjoita kalusto-taulukon kenttä on esimerkiksi Työntekijät-taulukossa seuraavalla miltä WHERE-lauseen Näyttää numeron 3 määrä-kentässä :

WHERE field1 LIKE field2

Tärkeää:  Et voi määrittää ehtoja kentälle, jota käytetään koostefunktion kanssa WHERE-lauseessa. Koontikenttien ehdot määritetään sen sijaan HAVING-lauseella.

Sivun alkuun

Mukauttaminen UNION-operaattorilla

Käytä UNION-operaattoria, kun haluat nähdä usean samankaltaisen valintakyselyn tulokset yhdistetyssä näkymässä. Jos tietokannassasi on esimerkiksi Tuotteet- ja Palvelut-taulukot ja kummassakin on kolme kenttää: tuote tai palvelu yksinoikeudella, hinta ja takuu. Vaikka Tuotteet-taulukko tallentaa tuotetakuutiedot ja Palvelut-taulukko palvelutakuutiedot, niiden tiedot vastaavat perustaltaan toisiaan. Nämä kummankin taulukon kolme kenttää voidaan yhdistää esimerkiksi seuraavanlaisella yhdistämiskyselyllä:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Kun suoritat kyselyn, toisiaan vastaavien kenttien tiedot yhdistetään samaan tuloskenttään. Käytä ALL-operaattoria, jos haluat näyttää tuloksissa toistuvat rivit.

Huomautus:  Yhdistettävissä SELECT-komennoissa on oltava yhtä monta tuloskenttää, tuloskenttien on oltava samassa järjestyksessä ja niillä on oltava sama tai yhteensopiva tietotyyppi. Yhdistämiskyselyssä Luku- ja Teksti-tietotyypit ovat yhteensopivia.

Lisätietoja yhdistämiskyselyistä on ohjeaiheessa useiden kyselyjen yhdistetyn tuloksen tarkasteleminen yhdistämiskyselyn avulla.

Sivun alkuun

Huomautus: Konekäännöksestä ilmoittava vastuusvapauslauseke: Tämä artikkeli on käännetty tietokonejärjestelmällä, eikä kieliasiantuntija ole muokannut sitä. Microsoft tarjoaa nämä konekäännökset avuksi muille kuin englantia puhuville käyttäjille, jotta he saavat lisätietoja Microsoftin tuotteista, palveluista ja tekniikoista. Koska artikkeli on koneellisesti käännetty, se saattaa sisältää sanasto-, lauseoppi- ja kielioppivirheitä.

Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×