Inleiding tot SELECT in MySQL

In dit onderwerp gaan we meer te weten komen over SELECT in MySQL en vooral in DQL, dat is "Data Query Language". Dit wordt gespeeld wanneer we proberen records uit de database op te halen en het begint met de opdracht "SELECT". Deze opdracht kan worden gebruikt met veel SQL-clausules en andere functies om de gewenste records te verkrijgen.

Er zijn veel soorten SQL-opdrachten die in de volgende categorieën kunnen worden onderverdeeld:

  • DDL (data-definitie taal)
  • DML (taal voor gegevensmanipulatie)
  • DQL (dataquery-taal)
  • DCL (taal voor gegevensbeheer)
  • TCL (transactiecontrole taal)

Syntaxis:

1. De basissyntaxis van de SELECT-opdracht:

SELECT * FROM table_name;

Hiermee worden alle records met alle attributen uit een tabel opgehaald.

SELECT column1, column2, …. FROM table_name;

Hiermee worden opgegeven kolommen opgehaald uit een tabel die door de query wordt doorgegeven.

2. Deze SELECT-opdracht kan ook worden gebruikt met de INSERT-opdracht die wordt gebruikt voor het toevoegen van records aan de bestaande tabel.

INSERT INTO table_name1 SELECT * FROM table_name2;

Hier haalt de query alle records op van tabelnaam2 en voegt die in tabelnaam1 in.

Voorbeelden om SELECT in MySQL te implementeren

Laten we eens kijken dat er een klantentabel is met de volgende kenmerken.

cust_idVoornaamAchternaamContactE-mailstadBedrag
1001RohitSharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

We gaan enkele basis SELECT-query's zien met behulp van enkele clausules voor het basisbegrip van hoe deze opdracht werkt.

Voorbeeld 1

SELECT * FROM customer;

(Hiermee worden alle records met alle kenmerken uit een tabel opgehaald.)

Output:

cust_idVoornaamAchternaamContactE-mailstadBedrag
1001Rohitsharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

Voorbeeld 2

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

(Hiermee worden opgegeven kolommen uit een tabel opgehaald die via een zoekopdracht worden doorgegeven)

Output:

cust_idVoornaamAchternaamE-mailstad
1001RohitsharmaMumbai
1002ViratKohliDelhi
1003SachinTendulkarMumbai
1004VirendraShewagDelhi

Voorbeeld 3

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

(WAAR het commando alleen die records haalt, waar de stad 'Delhi' zal zijn)

Output:

cust_idVoornaamAchternaamE-mailstad
1002ViratKohliDelhi
1004VirendraShewagDelhi

Voorbeeld 4

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

(Clausule BETWEEN retourneert records die voldoen aan het gegeven bereik van voorwaarde dat in de query is doorgegeven)

Output:

cust_idVoornaamAchternaamstadBedrag
1001RohitsharmaMumbai10000
1003SachinTendulkarMumbai15000
1004VirendraShewagDelhi20000

Voorbeeld 5

SELECT * FROM customer
ORDER BY amount DESC;

(Gebruikt om zowel numerieke als tekenreekswaarden oplopend of aflopend te sorteren. Standaard sorteert het oplopend. Als we aflopend willen, moeten we dit specificeren na het gebruik van de ORDER BY-clausule)

Output:

cust_idVoornaamAchternaamContactE-mailstadBedrag
1002ViratKohli8752877855Delhi60000
1004VirendraShewag9087788988Delhi20000
1003SachinTendulkar9867868678Mumbai15000
1001Rohitsharma9876736587Mumbai10000

Clausules met SELECT-opdracht

Andere clausules met SELECT-opdracht:

1. SELECT: wordt gebruikt om alle records uit een tabel op te halen.

SELECT * FROM table;

2. DISTINCT: wordt gebruikt om alle unieke waarden uit een tabel op te halen.

SELECT DISTINCT col_name FROM table;

3. WAAR: Gebruikte vergevingsgezinde omstandigheden bij het ophalen van records.

SELECT employee_id FROM employee
WHERE name = 'stella';

4. AANTAL: wordt gebruikt om het aantal records in een tabel te krijgen.

SELECT COUNT(*) FROM employee;

5. BESTELLEN OP: wordt gebruikt om zowel numerieke als tekenreekswaarden oplopend of aflopend te sorteren. Maar standaard sorteert het oplopend. Als we willen afdalen, moeten we dit opgeven na het gebruik van de ORDER BY-clausule.

SELECT first_name FROM student
ORDER BY marks desc;

6. LIMIT: dit wordt gebruikt om het aantal records aan te geven dat we willen na het uitvoeren van de query. Als we de top 5 studenten van een klas willen, kunnen we na het sorteren van de resultaten deze LIMIT gebruiken door 5 op te geven, zodat alleen de top 5 records worden opgehaald.

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** BESTELLEN DOOR hier gebruikt om de waarde in aflopende volgorde te sorteren)

7. EN: Als er 2 voorwaarden zijn opgegeven en aan beide is voldaan voor een record, worden alleen die records door de query opgehaald.

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

8. OF: Als er 2 voorwaarden worden gegeven en aan een van deze voorwaarden wordt voldaan voor een record, wordt dat record opgehaald.

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

9. NIET: Gebruikt met voorwaarden. Als we NIET voor voorwaarden opgeven, worden records die niet aan die voorwaarden voldoen opgehaald.

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. TUSSEN: deze operator selecteert records binnen een bepaald bereik. Meestal gebruiken we dit waar we een datumbereik willen specificeren.

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: Met deze operator kunnen we meerdere waarden opgeven in een WHERE-component.

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

12. ALS: deze operator wordt gebruikt met de WHERE-component om te zoeken naar een opgegeven patroon in een kolom die de tekenreeks bevat.

  • 'A%' - string begint met A
  • '& A' - eindigt op A
  • '% A%' - A staat tussen de tekenreeks
  • '_A%' - Hier is de 2e letter A
  • '% A_' - De 2e van de laatste letter is A

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

13. SUBSTRING: wordt gebruikt om een ​​specifiek teken uit een string te kiezen door de positie op te geven.

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

(het haalt karakter op van de 1e tot de 5e positie van een string)

14. INSTR: dit retourneert een positie van een string in een andere string.

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

(het zal de positie van 'pen' vinden in het woord 'onafhankelijkheid')

15. GROEPEN OP: Dit wordt gebruikt om records te scheiden op basis van bepaalde voorwaarden.

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

(Hier groeperen door gesegregeerde werknemers op basis van hun afdeling en wier salaris meer dan 100k.
Voorwaarde wordt altijd geleverd met de instructie HAVING in de clausule GROUP BY.)

Verzamelde functies

Hieronder ziet u de verschillende aggregatiefunctie:

1. SOM: berekent de som van waarden.

SELECT SUM(salary) FROM employee;

2. AVG: berekent de gemiddelde reeks waarden.

SELECT AVG(salary) FROM employee;

3. MIN: haalt de minimumwaarde op in een reeks waarden.

SELECT MIN(salary) FROM employee;

4. MAX: hiermee wordt de maximale waarde in een reeks waarden opgehaald.

SELECT MAX(salary) FROM employee;

Wordt lid van SELECT in MySQL

1. INNER JOIN: retourneert records met een overeenkomende waarde in beide tabellen.

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

2. LINKER AANMELDEN: Retourneert alle records uit de linker tabel en de overeenkomende records uit de rechter tabel.

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

3. RECHTS JOIN: retourneert alle records uit de rechtertafel en de overeenkomende records uit de linkertabel.

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

4. FULL OUTER JOIN: Retourneert alle records als er een match is aan de linker- of rechtertafel.

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

Conclusie - SELECT in MySQL

Deze opdrachten en clausules die we hierboven hebben besproken, zijn zeer nuttig in realtime scenario's, omdat het de basisconcepten biedt voor het gebruik van SQL-query's om gegevens in de database op te halen en te manipuleren. Afgezien hiervan zijn deze clausules zeer belangrijk bij het gebruik van geavanceerde en analytische vragen zoals de vensterfunctie enz.

Aanbevolen artikelen

Dit is een gids voor SELECT in MySQL Hier bespreken we het voorbeeld om SELECT in MySQL te implementeren met clausules, aggregatiefuncties en joins. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Jokertekens in MySQL
  2. Wat is MySQL-schema?
  3. Hoe een database te verbinden met MySQL?
  4. MySQL-zoekopdrachten
  5. INVOEGEN in Oracle | Voorbeelden
  6. Voorbeelden van DISTINCT in Oracle