Uvod v SELECT v MySQL

V tej temi bomo spoznali SELECT v MySQL in večinoma DQL, ki je "jezik poizvedbenih podatkov". To se začne igrati, ko poskušamo pridobiti zapise iz baze podatkov in se začne z ukazom "SELECT". Ta ukaz lahko uporabite z mnogimi SQL klavzulami in drugimi funkcijami za pridobivanje želenih zapisov.

Obstaja veliko vrst ukazov SQL, ki jih lahko razvrstimo v naslednje:

  • DDL (jezik opredelitve podatkov)
  • DML (jezik za obdelavo podatkov)
  • DQL (jezik poizvedbe)
  • DCL (jezik nadzora podatkov)
  • TCL (jezik nadzora transakcij)

Sintaksa:

1. Osnovna skladnja ukaza SELECT:

SELECT * FROM table_name;

Tako bodo vsi zapisi z vsemi atributi iz tabele.

SELECT column1, column2, …. FROM table_name;

To bo odneslo določene stolpce iz tabele, ki jih posredujemo poizvedbi.

2. Ta ukaz SELECT lahko uporabite tudi z ukazom INSERT, ki se uporablja za dodajanje zapisov v obstoječo tabelo.

INSERT INTO table_name1 SELECT * FROM table_name2;

Tu bo poizvedba pobrala vse zapise iz table_name2 in jih vstavila v table_name1.

Primeri za izvajanje SELECT v MySQL

Upoštevajmo, da obstaja tabela kupcev z naslednjimi atributi.

Cust_idImePriimekKontaktE-naslovMestoZnesek
1001RohitŠarma9876736587Bombaj10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Bombaj15000
1004VirendraShewag9087788988Delhi20000

Ogledali si bomo nekaj osnovnih poizvedb SELECT z uporabo nekaterih klavzul za osnovno razumevanje, kako deluje ta ukaz.

Primer # 1

SELECT * FROM customer;

(To bo vse zapise z vsemi atributi iz tabele.)

Izhod:

Cust_idImePriimekKontaktE-naslovMestoZnesek
1001Rohitšarma9876736587Bombaj10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Bombaj15000
1004VirendraShewag9087788988Delhi20000

Primer # 2

SELECT cust_id, first_name, last_name, email, city
FROM customer;

(To bo preneslo določene stolpce iz tabele, ki jih posreduje poizvedba)

Izhod:

Cust_idImePriimekE-naslovMesto
1001RohitšarmaBombaj
1002ViratKohliDelhi
1003SachinTendulkarBombaj
1004VirendraShewagDelhi

Primer # 3

SELECT cust_id, first_name, last_name, email, city FROM customer
WHERE city = 'Delhi';

(KJE bo ukaz dobil samo te zapise, kjer bo mesto „Delhi“)

Izhod:

Cust_idImePriimekE-naslovMesto
1002ViratKohliDelhi
1004VirendraShewagDelhi

Primer št. 4

SELECT cust_id, first_name, last_name, city, amount FROM customer
WHERE amount BETWEEN 5000 AND 25000;

(Klavzula BETWEEN bo vrnila zapise, ki izpolnjujejo dani razpon pogojev, poslanih v poizvedbi)

Izhod:

Cust_idImePriimekMestoZnesek
1001RohitšarmaBombaj10000
1003SachinTendulkarBombaj15000
1004VirendraShewagDelhi20000

Primer št. 5

SELECT * FROM customer
ORDER BY amount DESC;

(Uporablja se za razvrščanje tako številčnih kot nizskih vrednosti v naraščajočem ali padajočem. Toda privzeto se razvršča po naraščajočem. Če želimo v padajočem, potem ga moramo določiti po določbi ORDER BY)

Izhod:

Cust_idImePriimekKontaktE-naslovMestoZnesek
1002ViratKohli8752877855Delhi60000
1004VirendraShewag9087788988Delhi20000
1003SachinTendulkar9867868678Bombaj15000
1001Rohitšarma9876736587Bombaj10000

Stavki z ukazom SELECT

Druge določbe z ukazom SELECT:

1. IZBERI: Uporablja se za pridobivanje vseh zapisov iz tabele.

SELECT * FROM table;

2. DISTINCT: Uporablja se za pridobivanje vseh edinstvenih vrednosti iz tabele.

SELECT DISTINCT col_name FROM table;

3. KJE: Uporabljeni odpuščalni pogoji pri pridobivanju zapisov.

SELECT employee_id FROM employee
WHERE name = 'stella';

4. COUNT: Uporablja se za pridobivanje števila zapisov v tabeli.

SELECT COUNT(*) FROM employee;

5. NAROČI PO: Uporablja se za razvrščanje številskih in vrsticnih vrednosti bodisi v naraščajočem ali padajočem. Toda privzeto se razvršča po naraščajočem. Če se želimo spustiti, ga moramo določiti po uporabi stavka ORDER BY.

SELECT first_name FROM student
ORDER BY marks desc;

6. OMEJITEV: Uporablja se za določitev želenega števila zapisov po izvedbi poizvedbe. Če želimo najboljših 5 učencev v razredu, potem lahko po razvrščanju rezultatov uporabimo to OMEJITEV tako, da določimo 5. Tako, da bo le dobil prvih 5 zapisov.

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** NAROČILO, uporabljeno tukaj za razvrščanje vrednosti v padajočem vrstnem redu)

7. IN: Če sta podana dva pogoja in sta za zapis izpolnjena oba, potem bo ta poizvedba dobila samo poizvedbo.

SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';

8. ALI: Če sta podana dva pogoja in eden od njiju izpolnjen za zapis, se bo ta zapis prejel.

SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';

9. NE: Uporablja se pri pogojih. Če pred nobenimi pogoji določimo NE, se bodo prejeli zapisi, ki ne izpolnjujejo teh pogojev.

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. MED: Ta operater izbere zapise v določenem obsegu. Večinoma to uporabljamo tam, kjer želimo določiti razpon datumov.

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: Ta operater nam omogoča, da v stavku WHERE določimo več vrednosti.

SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);

12. LIKE: Ta operater se uporablja s klavzulo WHERE za iskanje določenega vzorca v stolpcu, ki vsebuje niz.

  • 'A%' - niz se začne z A
  • '& A' - konča se z A
  • '% A%' - A bo v nizu
  • '_A%' - Tukaj bo druga črka A
  • '% A_' - druga od zadnje črke bo A

SELECT first_name FROM table
WHERE first_name LIKE 'A%';

13. PODROČJE: Uporablja se za izbiro določenega znaka iz niza z navedbo položaja.

SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;

(Dobil bo znak od 1. do 5. mesta niza)

14. INSTR: To vrne položaj niza v drugem nizu.

SELECT INSTR('independence', 'pen');

(v besedi „neodvisnost“ bo našel položaj „peresa“)

15. SKUPINA PO: To se uporablja za ločevanje zapisov na podlagi nekaterih danih pogojev.

SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;

(Tu se združujejo ločeno zaposleni na podlagi njihovega oddelka in katerih plača presega 100k.
Pogoj je vedno v stavku HAVING v oddelku GROUP BY.)

Združene funkcije

Spodaj je različna funkcija agregata:

1. SUM: Izračuna vsoto vrednosti.

SELECT SUM(salary) FROM employee;

2. AVG: Izračuna povprečni niz vrednosti.

SELECT AVG(salary) FROM employee;

3. MIN: Dobi najnižjo vrednost v naboru vrednosti.

SELECT MIN(salary) FROM employee;

4. MAX: Določi največjo vrednost v naboru vrednosti.

SELECT MAX(salary) FROM employee;

Pridružuje se SELECT-u v MySQL

1. INNER JOIN: Vrne zapise z ustreznimi vrednostmi v obeh tabelah.

SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;

2. LEVO JOIN: Vrne vse zapise iz leve tabele in izravnane zapise iz desne tabele.

SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;

3. DESNO PRIDRUŽI SE: Vrne vse zapise iz desne tabele in izravnane zapise iz leve tabele.

SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;

4. FULL OUTER JOIN: Vrne vse zapise, če obstaja ujemanje na levi ali desni tabeli.

SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;

Zaključek - SELECT v MySQL

Ti ukazi in določbe, o katerih smo govorili zgoraj, so zelo uporabni v scenarijih v realnem času, saj zagotavljajo osnovne pojme, kako uporabiti poizvedbe SQL za pridobivanje in manipuliranje s podatki v bazi. Poleg tega so te klavzule med uporabo predhodnih in analitičnih poizvedb, kot so funkcija oken itd., Zelo pomembne.

Priporočeni članki

To je vodnik za SELECT v MySQL Tu smo razpravljali o primeru za izvajanje SELECT v MySQL s Clause, Aggregate Functions in Joins. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Zelene kartice v MySQL
  2. Kaj je shema MySQL?
  3. Kako povezati bazo podatkov z MySQL?
  4. Poizvedbe MySQL
  5. VSTAVITE v Oracle | Primeri
  6. Primeri DISTINCT v Oracleu