Johdatus SELECT -sovellukseen MySQL: ssä
Tässä aiheessa aiomme oppia SELECTistä MySQL: ssä ja pääasiassa DQL: ään, joka on ”Data Query Language”. Tämä tulee pelaamaan, kun yritämme hakea tietueita tietokannasta ja se alkaa SELECT-komennolla. Tätä komentoa voidaan käyttää monien SQL-lauseiden ja muiden toimintojen kanssa halutun tietueen saamiseksi.
On olemassa monenlaisia SQL-komentoja, jotka voidaan luokitella seuraaviin:
- DDL (tietomäärittelykieli)
- DML (tietojen käsittelykieli)
- DQL (tietojen kyselykieli)
- DCL (tiedonhallintakieli)
- TCL (Transaction control language)
Syntaksi:
1. SELECT-komennon perussintaksi:
SELECT * FROM table_name;
Tämä noutaa kaikki tietueet kaikilla määritteillä taulukosta.
SELECT column1, column2, …. FROM table_name;
Tämä hakee määritetyt sarakkeet taulukosta, jotka kulkevat kyselyn läpi.
2. Tätä SELECT-komentoa voidaan käyttää myös INSERT-komennon kanssa, jota käytetään tietueiden lisäämiseen olemassa olevaan taulukkoon.
INSERT INTO table_name1 SELECT * FROM table_name2;
Täältä kysely hakee kaikki tietueet taulukon_nimi2 ja lisää ne taulukon_nime1.
Esimerkkejä SELECTin toteuttamiseen MySQL: ssä
Oletetaan, että on olemassa asiakastaulukko, jolla on seuraavat määritteet.
Cust_id | Etunimi | Sukunimi | Ottaa yhteyttä | Sähköposti | Kaupunki | Määrä |
1001 | Rohit | Sharma | 9876736587 | Mumbai | 10000 | |
1002 | Virat | Kohli | 8752877855 | Delhi | 60000 | |
1003 | sachin | Tendulkar | 9867868678 | Mumbai | 15000 | |
1004 | Virendra | Shewag | 9087788988 | Delhi | 20000 |
Aiomme nähdä joitain SELECT-kyselyjä käyttämällä joitain lauseita ymmärtääksesi tämän komennon toimintaa.
Esimerkki # 1
SELECT * FROM customer;
(Tämä noutaa kaikki tietueet kaikilla määritteillä taulukosta.)
lähtö:
Cust_id | Etunimi | Sukunimi | Ottaa yhteyttä | Sähköposti | Kaupunki | Määrä |
1001 | Rohit | Sharma | 9876736587 | Mumbai | 10000 | |
1002 | Virat | Kohli | 8752877855 | Delhi | 60000 | |
1003 | sachin | Tendulkar | 9867868678 | Mumbai | 15000 | |
1004 | Virendra | Shewag | 9087788988 | Delhi | 20000 |
Esimerkki 2
SELECT cust_id, first_name, last_name, email, city
FROM customer;
(Tämä hakee määritetyt sarakkeet taulukosta, jotka kulkevat kyselyn läpi)
lähtö:
Cust_id | Etunimi | Sukunimi | Sähköposti | Kaupunki |
1001 | Rohit | Sharma | Mumbai | |
1002 | Virat | Kohli | Delhi | |
1003 | sachin | Tendulkar | Mumbai | |
1004 | Virendra | Shewag | Delhi |
Esimerkki 3
SELECT cust_id, first_name, last_name, email, city FROM customer
WHERE city = 'Delhi';
(Missä komento hakee vain nämä tietueet, missä kaupunki on Delhi)
lähtö:
Cust_id | Etunimi | Sukunimi | Sähköposti | Kaupunki |
1002 | Virat | Kohli | Delhi | |
1004 | Virendra | Shewag | Delhi |
Esimerkki 4
SELECT cust_id, first_name, last_name, city, amount FROM customer
WHERE amount BETWEEN 5000 AND 25000;
(BETWEEN-lause palauttaa tietueet, jotka täyttävät kyselyssä läpikäynnän annetut ehdot)
lähtö:
Cust_id | Etunimi | Sukunimi | Kaupunki | Määrä |
1001 | Rohit | Sharma | Mumbai | 10000 |
1003 | sachin | Tendulkar | Mumbai | 15000 |
1004 | Virendra | Shewag | Delhi | 20000 |
Esimerkki 5
SELECT * FROM customer
ORDER BY amount DESC;
(Käytetään sekä numeeristen että merkkijonoarvojen lajitteluun joko nousevalla tai laskevalla tavalla. Mutta oletuksena se lajitellaan nousevalla tavalla. Jos haluamme laskevassa, meidän on määritettävä se ORDER BY -lausekkeen käytön jälkeen)
lähtö:
Cust_id | Etunimi | Sukunimi | Ottaa yhteyttä | Sähköposti | Kaupunki | Määrä |
1002 | Virat | Kohli | 8752877855 | Delhi | 60000 | |
1004 | Virendra | Shewag | 9087788988 | Delhi | 20000 | |
1003 | sachin | Tendulkar | 9867868678 | Mumbai | 15000 | |
1001 | Rohit | Sharma | 9876736587 | Mumbai | 10000 |
Lauseet SELECT-komennolla
Muut lauseet SELECT-komennolla:
1. VALITSE: Käytetään kaikkien tietueiden noutamiseen taulukosta.
SELECT * FROM table;
2. DISTINCT: Käytetään kaikkien yksilöllisten arvojen hakemiseen taulukosta.
SELECT DISTINCT col_name FROM table;
3. Missä: Käytetään anteeksiantavia ehtoja tietueiden noutamisessa.
SELECT employee_id FROM employee
WHERE name = 'stella';
4. LASKE: Käytetään taulukossa olevien tietueiden lukumäärän saamiseen.
SELECT COUNT(*) FROM employee;
5. ORDER BY: Järjestä sekä numeeriset että merkkijonot joko nousevalla tai laskevalla tavalla. Mutta oletuksena se lajitellaan nousevalla tavalla. Jos haluamme laskeutua, meidän on määritettävä se ORDER BY -lausekkeen käytön jälkeen.
SELECT first_name FROM student
ORDER BY marks desc;
6. RAJOITUS: Tätä käytetään määrittämään haluamiesi tietueiden lukumäärä kyselyn suorittamisen jälkeen. Jos haluamme luokan viisi parasta oppilasta, tulosten lajittelun jälkeen voimme käyttää tätä RAJAA määrittelemällä 5. Joten se noutaa vain viisi parasta tietuetta.
SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;
(** Tilaamalla tätä käytetään arvon lajitteluun laskevassa järjestyksessä)
7. JA: Jos annetaan 2 ehtoa ja molemmat täyttyvät tietueelle, vain kysely hakee kyseisen tietueen.
SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';
8. TAI: Jos annetaan 2 ehtoa ja yksi niistä täyttyy tietueelle, se tietue noudetaan.
SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';
9. EI: Käytetään olosuhteissa. Jos määrittelemme EI ennen mitään ehtoja, tietueet, jotka eivät täytä näitä ehtoja, haetaan.
SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;
10. VÄLILLÄ: Tämä operaattori valitsee tietueet tietyllä alueella. Useimmiten käytämme tätä, kun haluamme määritellä päivämääräajan.
SELECT emp_id FROM employee
WHERE emp_id BETWEEN 1 AND 10;
SELECT * FROM employee
WHERE join_date BETWEEN '2007-01-01' AND '2008-01-01';
11. IN: Tämän operaattorin avulla voimme määrittää useita arvoja WHERE-lauseessa.
SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);
12. LIKE: Tätä operaattoria käytetään WHERE-lauseen kanssa etsittäessä määriteltyä mallia sarakkeesta, joka sisältää merkkijonon.
- '%' - merkkijono alkaa A: lla
- '& A' - päättyy A: lle
- '% A%' - A on merkkijonon välissä
- '_A%' - Tässä toinen kirjain on A
- '% A_' - viimeisen kirjaimen toinen kohta on A
SELECT first_name FROM table
WHERE first_name LIKE 'A%';
13. ALUSTUS: Käytetään tietyn merkin valintaan merkkijonosta määrittelemällä sijainti.
SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;
(se hakee merkin merkkijonon 1-5 sijaan)
14. INSTR: Tämä palauttaa merkkijonon sijainnin toisessa merkkijonossa.
SELECT INSTR('independence', 'pen');
(se löytää "kynän" aseman sanassa "riippumattomuus")
15. RYHMITTÄMINEN: Tätä käytetään tietueiden erottamiseen tiettyjen ehtojen perusteella.
SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;
(Tässä ryhmässä erotetut työntekijät osastonsa perusteella ja joiden palkka on yli 100 000.
Ehto tulee aina HAVING-lausunnon avulla GROUP BY -lauseessa.)
Yhdistelmätoiminnot
Alla on erilainen kokonaisfunktio:
1. SUM: Laskee arvojen summan.
SELECT SUM(salary) FROM employee;
2. AVG: Laskee keskimääräisen arvojoukon.
SELECT AVG(salary) FROM employee;
3. MIN: Saa vähimmäisarvon arvojoukossa.
SELECT MIN(salary) FROM employee;
4. MAX: saa suurimman arvon arvojoukossa.
SELECT MAX(salary) FROM employee;
Liittyy SELECT-palveluun MySQL: ssä
1. INNER JOIN: Palauttaa tietueet, joilla on vastaava arvo molemmissa taulukoissa.
SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;
2. VASEN LIITTYMINEN: Palauttaa kaikki tietueet vasemmalta taulukolta ja vastaavat tietueet oikealta taulukolta.
SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;
3. OIKEA LIITTYMINEN: Palauttaa kaikki tietueet oikealta taulukolta ja vastaavat tietueet vasemmalta taulukolta.
SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;
4. FULL UUTER JOIN: Palauttaa kaikki tietueet, kun vasemmalla tai oikealla pöydällä on ottelu.
SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;
Johtopäätös - VALITSE MySQL: ssä
Nämä komennot ja lausekkeet, joista olemme keskustelleet yllä, ovat erittäin hyödyllisiä reaaliaikaisissa tilanteissa, koska ne tarjoavat peruskäsitteet kuinka käyttää SQL-kyselyitä tietokannan tietojen hakemiseen ja käsittelemiseen. Tämän lisäksi nämä lausekkeet ovat erittäin tärkeitä, kun käytetään ennakko- ja analyyttisiä kyselyitä, kuten ikkunatoiminto jne.
Suositellut artikkelit
Tämä on opas VALITSEIN MySQL: ssä. Tässä keskustelemme esimerkistä SELECTin toteuttamiseksi MySQL: ssä lauseiden, aggregaattitoimintojen ja liittymien kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -
- Jokerimerkit MySQL: ssä
- Mikä on MySQL-skeema?
- Kuinka yhdistää tietokanta MySQL: ään?
- MySQL-kyselyt
- LISÄÄ Oracle | esimerkit
- Esimerkkejä DISTINCT: stä Oraclessa