logo

SQL-lausekkeet

  • SQL-lause auttaa meitä hakemaan tietueiden joukon tai nippuja taulukosta.
  • SQL-lause auttaa meitä määrittämään ehdon taulukon sarakkeissa tai tietueissa.

Strukturoidussa kyselykielessä käytettävissä olevat eri lausekkeet ovat seuraavat:

  1. MISSÄ CLAUSE
  2. RYHMÄ LAUSEKSI
  3. ON LAUSEKE
  4. TILAUS LAUKSELLA

Katsotaan jokainen lause yksitellen esimerkin kanssa. Käytämme MySQL-tietokantaa kyselyjen kirjoittamiseen esimerkeissä.

1. MISSÄ LAUSE

SQL:n WHERE-lausetta käytetään SELECT-kyselyn kanssa, joka on yksi tiedonkäsittelykielen komennoista. WHERE-lauseilla voidaan rajoittaa tulosjoukossa näytettävien rivien määrää, se yleensä auttaa tietueiden suodatuksessa. Se palauttaa vain ne kyselyt, jotka täyttävät WHERE-lauseen erityisehdot. WHERE-lausetta käytetään SELECT-, UPDATE-, DELETE-käskyissä jne.

WHERE-lause SELECT-kyselyllä

Asterisk-symbolia käytetään WHERE-lauseen kanssa SELECT-kyselyssä kaikkien sarakearvojen noutamiseen jokaiselle tietueelle taulukosta.

Syntaksi jossa-lauseessa valintakyselyn kanssa jokaisen tietueen kaikkien sarakearvojen hakemiseksi taulukosta:

 SELECT * FROM TABLENAME WHERE CONDITION; 

Jos vaatimuksen mukaan haluamme hakea vain valikoituja sarakkeita, käytämme alla olevaa syntaksia:

 SELECT COLUMNNAME1, COLUMNNAME2 FROM TABLENAME WHERE CONDITION; 

Harkitse työntekijätaulukkoa, jossa on seuraavat tiedot:

E_ID Nimi Palkka Kaupunki Nimitys Liittymispäivämäärä Ikä
1 Sakshi Kumari 50 000 Mumbai Projektipäällikkö 20.6.2021 24
2 Tejaswini Naik 75 000 Delhi Järjestelmäinsinööri 24.12.2019 23
3 Anuja Sharma 40 000 Jaipur Manager 15.8.2021 26
4 Anushka Tripathi 90 000 Mumbai Ohjelmistojen testaajat 13.6.2021 24
5 Rucha Jagtap 45 000 Bangalore Projektipäällikkö 2020-08-09 23
6 Rutuja Deshmukh 60 000 Bangalore Manager 17.7.2019 26
7 Baviskarin ääni 55 000 Jaipur Järjestelmäinsinööri 10.10.2021 24
8 Siellä on Sheik 45 000 Pune Ohjelmistoinsinööri 2020-09-10 26
9 Swati Kumari 50 000 Pune Ohjelmistojen testaajat 2021-01-01 25
10 Mayuri Patel 60 000 Mumbai Projektipäällikkö 2020-10-02 24
yksitoista Simran Khanna 45500 Kolhapur HR 2019-01-02 26
12 Shivani Wagh 50 500 Delhi Ohjelmistokehittäjä 10.9.2016 25
13 Kiran Maheshwari 50 000 Nashik HR 12.12.2013 23
14 Tejal Jain 40 000 Delhi Projektipäällikkö 10.11.2017 25
viisitoista Mohini Shah 38 000 Pune Ohjelmistokehittäjä 05-03-2019 kaksikymmentä

Esimerkki 1:

Kirjoita kysely hakeaksesi kaikki tietueet työntekijästä, jonka työntekijän palkka on yli 50 000.

Kysely:

 mysql> SELECT * FROM employees WHERE Salary > 50000; 

Yllä oleva kysely näyttää kaikki ne työntekijän tietueet, joiden työntekijän palkka on yli 50 000. Alle 50 000 palkkaa ei näytetä ehtojen mukaisesti.

Saat seuraavan tulosteen:

SQL-lausekkeet

Odotetun tuoton mukaan näytetään vain ne tietueet, joissa työntekijän palkka on suurempi kuin 50000. Työntekijätaulukossa on kuusi tietuetta, jotka täyttävät annetun ehdon.

pinoa javassa

Esimerkki 2:

Kirjoita kysely päivittääksesi työntekijän tietueen ja aseta päivitetyksi nimeksi 'Harshada Sharma', jossa työntekijän kaupungin nimi on Jaipur.

Kysely:

 mysql> UPDATE employees SET Name = 'Harshada Sharma' WHERE City = 'Jaipur'; 

SQL-lausekkeet

Yllä oleva kysely päivittää työntekijän nimeksi 'Harshada Sharma', jossa työntekijän kaupunki on Jaipur.

Suoritamme valintakyselyn tarkistaaksemme, onko tietueita päivitetty vai ei.

 mysql> SELECT * FROM employees; 

SQL-lausekkeet

Työntekijän taulukossa on vain yksi tietue, jossa työntekijän kaupunki on 'Jaipur'. Tietueen id on 3, mikä täyttää annetun ehdon. Tästä syystä työntekijän nimi, jonka työntekijätunnus on 3, muutetaan annettujen ehtojen mukaisesti nimellä 'Harshada Sharma'.

Esimerkki 3:

Kirjoita kysely poistaaksesi työntekijän tietueen, jossa työntekijän liittymispäivä on '2013-12-12'.

Kysely:

 mysql> DELETE FROM employees WHERE Date_of_Joining = '2013-12-12'; 

SQL-lausekkeet

Yllä oleva kysely poistaa sen työntekijän työntekijätiedot, jonka liittymispäivä on '2013-12-12'.

Varmistaaksemme yllä olevan kyselyn tulokset, suoritamme valintakyselyn.

 mysql> SELECT *FROM employees; 

SQL-lausekkeet

Työntekijätaulukossa on vain yksi tietue, jossa työntekijän liittymispäivä on '2013-12-12'. Tietueen id on 13, mikä täyttää annetun ehdon. Siksi työntekijän taulukosta poistetaan annettujen ehtojen mukaisesti työntekijä, jonka työntekijätunnus on 13.

2. RYHMÄLAUSEKE

Group By -lausetta käytetään järjestämään samankaltaisia ​​tietueita ryhmiin Structured Query Languageissa. Strukturoidun kyselykielen Group by -lausetta käytetään Select-lausekkeen kanssa. Group by lause sijoitetaan where-lauseen jälkeen SQL-käskyssä. Group By -lausetta käytetään erityisesti koontifunktion kanssa, eli max (), min (), keskiarvo (), summa (), count () tuloksen ryhmittelemiseksi yhden tai useamman sarakkeen perusteella.

Group By -lauseen syntaksi:

 SELECT * FROM TABLENAME GROUP BY COLUMNNAME; 

Yllä oleva syntaksi valitsee kaikki tiedot tai tietueet taulukosta, mutta se järjestää kaikki tiedot tai tietueet ryhmiin kyselyssä annetun sarakkeen nimen perusteella.

Group By -lauseen syntaksi, jossa on koostefunktioita:

 SELECT COLUMNNAME1, Aggregate_FUNCTION (COLUMNNAME) FROM TABLENAME GROUP BY COLUMNNAME; 

Ymmärretään Group By -lausetta esimerkkien avulla.

Harkitse työntekijätaulukkoa, jossa on seuraavat tiedot:

E_ID Nimi Palkka Kaupunki Nimitys Liittymispäivämäärä Ikä
1 Sakshi Kumari 50 000 Mumbai Projektipäällikkö 20.6.2021 24
2 Tejaswini Naik 75 000 Delhi Järjestelmäinsinööri 24.12.2019 23
3 Anuja Sharma 40 000 Jaipur Manager 15.8.2021 26
4 Anushka Tripathi 90 000 Mumbai Ohjelmistojen testaajat 13.6.2021 24
5 Rucha Jagtap 45 000 Bangalore Projektipäällikkö 2020-08-09 23
6 Rutuja Deshmukh 60 000 Bangalore Manager 17.7.2019 26
7 Baviskarin ääni 55 000 Jaipur Järjestelmäinsinööri 10.10.2021 24
8 Siellä on Sheik 45 000 Pune Ohjelmistoinsinööri 2020-09-10 26
9 Swati Kumari 50 000 Pune Ohjelmistojen testaajat 2021-01-01 25
10 Mayuri Patel 60 000 Mumbai Projektipäällikkö 2020-10-02 24
yksitoista Simran Khanna 45500 Kolhapur HR 2019-01-02 26
12 Shivani Wagh 50 500 Delhi Ohjelmistokehittäjä 10.9.2016 25
13 Kiran Maheshwari 50 000 Nashik HR 12.12.2013 23
14 Tejal Jain 40 000 Delhi Projektipäällikkö 10.11.2017 25
viisitoista Mohini Shah 38 000 Pune Ohjelmistokehittäjä 05-03-2019 kaksikymmentä

Esimerkki 1:

Kirjoita kysely näyttääksesi kaikki työntekijätaulukon tietueet, mutta ryhmittele tulokset ikäsarakkeen perusteella.

Kysely:

 mysql> SELECT * FROM employees GROUP BY Age; 

Yllä oleva kysely näyttää kaikki työntekijätaulukon tietueet, mutta ne on ryhmitelty ikäsarakkeen mukaan.

Saat seuraavan tulosteen:

SQL-lausekkeet

Esimerkki 2:

Kirjoita kysely näyttääksesi kaikki työntekijätaulukon tietueet ryhmiteltynä nimityksen ja palkan mukaan.

Kysely:

 mysql> SELECT * FROM employees GROUP BY Salary, Designation; 

Yllä oleva kysely näyttää kaikki työntekijätaulukon tietueet, mutta ne on ryhmitelty palkka- ja nimityssarakkeen mukaan.

Saat seuraavan tulosteen:

SQL-lausekkeet

Esimerkkejä Group By -lauseesta, jossa käytetään koostefunktioita

Esimerkki 1:

Kirjoita kysely listataksesi tietyn nimityksen parissa työskentelevien työntekijöiden lukumäärän ja ryhmittele tulokset työntekijän nimityksen mukaan.

Kysely:

 mysql> SELECT COUNT (E_ID) AS Number_of_Employees, Designation FROM employees GROUP BY Designation; 

Yllä oleva kysely näyttää nimityksen ja vastaavan määräyksen parissa työskentelevien työntekijöiden lukumäärän. Kaikki nämä tulokset ryhmitellään nimisarakkeen mukaan.

Saat seuraavan tulosteen:

SQL-lausekkeet

Odotetun tuoton mukaisesti merkintä ja vastaava työntekijämäärä näytetään.

Esimerkki 2:

Kirjoita kysely nähdäksesi työntekijän palkan summa kaupungin mukaan ryhmiteltynä työntekijän iän mukaan.

Kysely:

 mysql> SELECT SUM (Salary) AS Salary, City FROM employees GROUP BY City; 

Yllä oleva kysely laskee ensin kussakin kaupungissa työskentelevien palkkojen summan ja näyttää sitten palkkasumman vastaavalla palkalla, mutta ryhmiteltynä ikäsarakkeen mukaan.

Saat seuraavan tulosteen:

SQL-lausekkeet

Odotetun tuoton mukaan näytetään työntekijän palkan summa sen kaupungin mukaan, johon työntekijä kuuluu. Jos kaksi työntekijää kuuluu samaan kaupunkiin, he kuuluvat yhteen ryhmään.

3. OTTAMISLAUSEKE:

Kun meidän on asetettava ehtoja taulukon sarakkeeseen, käytämme SQL:n WHERE-lausetta. Mutta jos haluamme käyttää mitä tahansa ehtoa Group By -lauseen sarakkeessa tuolloin, käytämme HAVING-lausetta Group By -lauseen kanssa sarakkeen ehdoissa.

Syntaksi:

 TABLENAME GROUP BY COLUMNNAME HAVING CONDITION; 

Harkitse työntekijätaulukkoa, jossa on seuraavat tiedot:

E_ID Nimi Palkka Kaupunki Nimitys Liittymispäivämäärä Ikä
1 Sakshi Kumari 50 000 Mumbai Projektipäällikkö 20.6.2021 24
2 Tejaswini Naik 75 000 Delhi Järjestelmäinsinööri 24.12.2019 23
3 Anuja Sharma 40 000 Jaipur Manager 15.8.2021 26
4 Anushka Tripathi 90 000 Mumbai Ohjelmistojen testaajat 13.6.2021 24
5 Rucha Jagtap 45 000 Bangalore Projektipäällikkö 2020-08-09 23
6 Rutuja Deshmukh 60 000 Bangalore Manager 17.7.2019 26
7 Baviskarin ääni 55 000 Jaipur Järjestelmäinsinööri 10.10.2021 24
8 Siellä on Sheik 45 000 Pune Ohjelmistoinsinööri 2020-09-10 26
9 Swati Kumari 50 000 Pune Ohjelmistojen testaajat 2021-01-01 25
10 Mayuri Patel 60 000 Mumbai Projektipäällikkö 2020-10-02 24
yksitoista Simran Khanna 45500 Kolhapur HR 2019-01-02 26
12 Shivani Wagh 50 500 Delhi Ohjelmistokehittäjä 10.9.2016 25
13 Kiran Maheshwari 50 000 Nashik HR 12.12.2013 23
14 Tejal Jain 40 000 Delhi Projektipäällikkö 10.11.2017 25
viisitoista Mohini Shah 38 000 Pune Ohjelmistokehittäjä 05-03-2019 kaksikymmentä

Esimerkki 1:

Kirjoita kysely näyttääksesi työntekijöiden nimet, palkan ja kaupungin, jossa työntekijän enimmäispalkka on suurempi kuin 40 000, ja ryhmittele tulokset nimikkeiden mukaan.

Kysely:

npm välimuistin tyhjennysvoima
 mysql> SELECT Name, City, MAX (Salary) AS Salary FROM employees GROUP BY Designation HAVING MAX (Salary) > 40000; 

Saat seuraavan tulosteen:

SQL-lausekkeet

Yllä oleva tulos osoittaa, että työntekijän nimi, palkka ja kaupunki, jos työntekijän palkka on yli 40 000 ryhmiteltynä nimityksen mukaan. (Samanlaisen nimityksen työntekijät sijoitetaan yhteen ryhmään ja muulla nimikkeellä saaneet sijoitetaan erikseen).

Esimerkki 2:

Kirjoita kysely näyttääksesi työntekijöiden nimet ja nimitykset, joissa työntekijän palkan summa on suurempi kuin 45000 ja ryhmittele tulokset kaupungeittain.

Kysely:

 mysql> SELECT Name, Designation, SUM (Salary) AS Salary FROM employees GROUP BY City HAVING SUM (Salary) > 45000; 

Saat seuraavan tulosteen:

SQL-lausekkeet

Yllä oleva tulos näyttää työntekijän nimen, nimityksen ja työntekijän palkan. Palkkasumma on yli 45 000 kaupungeittain ryhmiteltynä. (Työntekijät, joilla on samanlaisia ​​kaupunkeja, sijoitetaan yhteen ryhmään ja ne, joilla on eri kaupunki, eivät ole samanlaisia, sijoitetaan erikseen).

4. TILAUS LAUKSESTA

Aina kun haluamme lajitella jotain SQL:ssä, käytämme ORDER BY -lausetta. SQL:n ORDER BY -lause auttaa meitä lajittelemaan tiedot taulukon tietyn sarakkeen perusteella. Tämä tarkoittaa, että kaikki tiedot, jotka on tallennettu tiettyyn sarakkeeseen, jossa suoritamme ORDER BY -lauseen, lajitellaan. Vastaavat sarakkeen arvot näytetään siinä järjestyksessä, jossa olemme saaneet arvot aikaisemmassa vaiheessa.

Kuten kaikki tiedämme, lajittelu tarkoittaa joko NOusevassa tai LASKEVAssa järjestyksessä. Samalla tavalla ORDER BY CLAUSE lajittelee tiedot nousevaan tai laskevaan järjestykseen vaatimuksemme mukaisesti. Tiedot lajitellaan nousevaan järjestykseen aina, kun ASC-avainsana käytetään ORDER by -lauseen kanssa, ja DESC avainsana lajittelee tietueet laskevaan järjestykseen.

Oletusarvoisesti lajittelu tapahtuu SQL:ssä käyttämällä ORDER BY -lausetta ASCENDING-järjestyksessä, jos emme maininneet lajittelujärjestystä.

Ennen kuin siirrymme ORDER BY -lauseen esimerkkiin tietueiden lajittelemiseksi, tarkastelemme ensin syntaksia, jotta esimerkin läpikäyminen on helppoa.

ORDER BY -lauseen syntaksi ilman asc- ja desc-avainsanaa:

 SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME ORDER BY COLUMNAME; 

ORDER BY -lauseen syntaksi nousevaan järjestykseen:

 SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME ORDER BY COLUMN_NAME ASC; 

ORDER BY -lauseen syntaksi laskevaan järjestykseen:

 SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME ORDER BY COLUMN_NAME DESC; 

Oletetaan, että meillä on työntekijätaulukko, jossa on seuraavat tiedot:

E_ID Nimi Palkka Kaupunki Nimitys Liittymispäivämäärä Ikä
1 Sakshi Kumari 50 000 Mumbai Projektipäällikkö 20.6.2021 24
2 Tejaswini Naik 75 000 Delhi Järjestelmäinsinööri 24.12.2019 23
3 Anuja Sharma 40 000 Jaipur Manager 15.8.2021 26
4 Anushka Tripathi 90 000 Mumbai Ohjelmistojen testaajat 13.6.2021 24
5 Rucha Jagtap 45 000 Bangalore Projektipäällikkö 2020-08-09 23
6 Rutuja Deshmukh 60 000 Bangalore Manager 17.7.2019 26
7 Baviskarin ääni 55 000 Jaipur Järjestelmäinsinööri 10.10.2021 24
8 Siellä on Sheik 45 000 Pune Ohjelmistoinsinööri 2020-09-10 26
9 Swati Kumari 50 000 Pune Ohjelmistojen testaajat 2021-01-01 25
10 Mayuri Patel 60 000 Mumbai Projektipäällikkö 2020-10-02 24
yksitoista Simran Khanna 45500 Kolhapur HR 2019-01-02 26
12 Shivani Wagh 50 500 Delhi Ohjelmistokehittäjä 10.9.2016 25
13 Kiran Maheshwari 50 000 Nashik HR 12.12.2013 23
14 Tejal Jain 40 000 Delhi Projektipäällikkö 10.11.2017 25
viisitoista Mohini Shah 38 000 Pune Ohjelmistokehittäjä 05-03-2019 kaksikymmentä

Esimerkki 1:

Kirjoita kysely lajitellaksesi tietueet työntekijän taulukon työntekijämäärityksen nousevaan järjestykseen.

Kysely:

 mysql> SELECT * FROM employees ORDER BY Designation; 

Tässä SELECT-kyselyssä ORDER BY -lausetta käytetään sarakkeessa 'Designation' tietueiden lajitteluun, mutta emme käyttäneet ASC-avainsanaa ORDER BY -lauseen jälkeen lajitteluun nousevaan järjestykseen. Joten oletusarvoisesti tiedot lajitellaan nousevaan järjestykseen, jos emme määritä asc-avainsanaa.

Saat seuraavan tulosteen:

SQL-lausekkeet

Odotetun tuoton mukaisesti tietueet näytetään nousevassa järjestyksessä työntekijän nimeämisen mukaan.

Esimerkki 2:

Kirjoita kysely näyttääksesi työntekijän nimi ja palkka työntekijän palkan mukaisessa nousevassa järjestyksessä työntekijätaulukosta.

Kysely:

 mysql> SELECT Name, Salary FROM employees ORDER BY Salary ASC; 

Tässä SELECT-kyselyssä ORDER BY -lausetta sovelletaan Palkka-sarakkeeseen tietueiden lajittelemiseksi. Olemme käyttäneet ASC-avainsanaa työntekijän palkan lajittelussa nousevaan järjestykseen.

Saat seuraavan tulosteen:

SQL-lausekkeet

Kaikki tietueet näkyvät työntekijän palkan nousevassa järjestyksessä.

Esimerkki 3:

Kirjoita kysely lajitellaksesi tiedot työntekijätaulukkoon tallennetun työntekijän nimen mukaiseen laskevaan järjestykseen.

Kysely:

 mysql> SELECT * FROM employees ORDER BY Name DESC; 

Tässä olemme käyttäneet ORDER BY -lausetta Nimi-sarakkeen SELECT-kyselyn kanssa tietojen lajitteluun. Olemme käyttäneet DESC-avainsanaa ORDER BY -lauseen jälkeen lajitellaksemme tiedot laskevaan järjestykseen.

Saat seuraavan tulosteen:

SQL-lausekkeet

Kaikki tietueet näytetään työntekijän nimen mukaisessa laskevassa järjestyksessä.