Introduzione a SELECT in MySQL

In questo argomento, impareremo a selezionare SELECT in MySQL e principalmente in DQL che è "Data Query Language". Questo viene riprodotto quando proviamo a recuperare i record dal database e inizia con il comando "SELEZIONA". Questo comando può essere utilizzato con molte clausole SQL e altre funzioni per ottenere i record desiderati.

Esistono molti tipi di comandi SQL che possono essere classificati come segue:

  • DDL (linguaggio di definizione dei dati)
  • DML (linguaggio di manipolazione dei dati)
  • DQL (linguaggio di query dei dati)
  • DCL (linguaggio di controllo dei dati)
  • TCL (linguaggio di controllo delle transazioni)

Sintassi:

1. La sintassi di base del comando SELEZIONA:

SELECT * FROM table_name;

Ciò recupererà tutti i record con tutti gli attributi da una tabella.

SELECT column1, column2, …. FROM table_name;

Ciò recupererà le colonne specificate da una tabella che viene passata attraverso la query.

2. Questo comando SELECT può essere utilizzato anche con il comando INSERT che viene utilizzato per aggiungere record alla tabella esistente.

INSERT INTO table_name1 SELECT * FROM table_name2;

Qui la query recupererà tutti i record da table_name2 e li inserirà in table_name1.

Esempi per implementare SELECT in MySQL

Consideriamo che esiste una tabella clienti con i seguenti attributi.

cust_idNome di battesimoCognomeContattoE-mailCittàQuantità
1001RohitSharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

Vedremo alcune query SELECT di base che utilizzano alcune clausole per la comprensione di base di come funziona questo comando.

Esempio 1

SELECT * FROM customer;

(Questo recupererà tutti i record con tutti gli attributi da una tabella.)

Produzione:

cust_idNome di battesimoCognomeContattoE-mailCittàQuantità
1001RohitSharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

Esempio n. 2

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

(Questo recupererà le colonne specificate da una tabella che vengono passate attraverso una query)

Produzione:

cust_idNome di battesimoCognomeE-mailCittà
1001RohitSharmaMumbai
1002ViratKohliDelhi
1003SachinTendulkarMumbai
1004VirendraShewagDelhi

Esempio n. 3

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

(Il comando DOVE recupererà solo quei record, dove la città sarà "Delhi")

Produzione:

cust_idNome di battesimoCognomeE-mailCittà
1002ViratKohliDelhi
1004VirendraShewagDelhi

Esempio n. 4

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

(La clausola TRA restituirà i record che soddisfano l'intervallo di condizioni specificato passato nella query)

Produzione:

cust_idNome di battesimoCognomeCittàQuantità
1001RohitSharmaMumbai10000
1003SachinTendulkarMumbai15000
1004VirendraShewagDelhi20000

Esempio n. 5

SELECT * FROM customer
ORDER BY amount DESC;

(Utilizzato per ordinare sia i valori numerici che quelli di stringa in modo crescente o decrescente. Ma per impostazione predefinita, ordina in modo crescente. Se vogliamo in ordine decrescente, dobbiamo specificarlo dopo aver usato la clausola ORDER BY)

Produzione:

cust_idNome di battesimoCognomeContattoE-mailCittàQuantità
1002ViratKohli8752877855Delhi60000
1004VirendraShewag9087788988Delhi20000
1003SachinTendulkar9867868678Mumbai15000
1001RohitSharma9876736587Mumbai10000

Clausole con il comando SELECT

Altre clausole con il comando SELECT:

1. SELEZIONA: utilizzato per recuperare tutti i record da una tabella.

SELECT * FROM table;

2. DISTINCT: utilizzato per recuperare tutti i valori univoci da una tabella.

SELECT DISTINCT col_name FROM table;

3. DOVE: utilizzate le condizioni di perdono nel recupero dei registri.

SELECT employee_id FROM employee
WHERE name = 'stella';

4. COUNT: utilizzato per ottenere il numero di record presenti in una tabella.

SELECT COUNT(*) FROM employee;

5. ORDINA PER: Usato per ordinare sia i valori numerici che quelli di stringa in modo crescente o decrescente. Ma per impostazione predefinita, si ordina in modo crescente. Se vogliamo scendere, allora dobbiamo specificarlo dopo aver usato la clausola ORDER BY.

SELECT first_name FROM student
ORDER BY marks desc;

6. LIMITE: utilizzato per specificare il numero di record desiderati dopo l'esecuzione della query. Se vogliamo i primi 5 studenti di una classe, quindi dopo aver ordinato i risultati, possiamo usare questo LIMIT specificando 5. In modo da recuperare solo i primi 5 record.

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** ORDER BY utilizzato qui per ordinare il valore in ordine decrescente)

7. AND: se vengono fornite 2 condizioni ed entrambe sono soddisfatte per un record, solo la query recupererà tali record.

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

8. OPPURE: se vengono fornite 2 condizioni e una di esse viene soddisfatta per un record, tale record verrà recuperato.

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

9. NOT: usato con condizioni. Se si specifica NOT prima di qualsiasi condizione, verranno recuperati i record che non soddisfano tali condizioni.

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. TRA: questo operatore seleziona i record in un determinato intervallo. Principalmente usiamo questo dove vogliamo specificare un intervallo di date.

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: questo operatore ci consente di specificare più valori in una clausola WHERE.

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

12. MI PIACE: questo operatore viene utilizzato con la clausola WHERE per cercare un modello specificato in una colonna contenente la stringa.

  • 'A%' - la stringa inizia con A
  • '& A' - termina con A
  • '% A%' - A sarà tra la stringa
  • '_A%' - Qui la seconda lettera sarà A
  • '% A_' - Il 2 ° dall'ultima lettera sarà A

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

13. SUBSTRING: utilizzato per selezionare un carattere specifico da una stringa specificando la posizione.

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

(recupererà il carattere dalla 1a alla 5a posizione di una stringa)

14. INSTR: restituisce la posizione di una stringa in un'altra stringa.

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

(troverà la posizione di 'penna' nella parola 'indipendenza')

15. Raggruppa per: viene utilizzato per separare i record in base a determinate condizioni.

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

(Qui raggruppa i dipendenti separati sulla base del loro dipartimento e il cui stipendio supera i 100.000.
La condizione viene sempre con l'istruzione HAVING nella clausola GROUP BY.)

Funzioni aggregate

Di seguito è riportata la diversa funzione aggregata:

1. SOMMA: calcola la somma dei valori.

SELECT SUM(salary) FROM employee;

2. AVG: calcola il set medio di valori.

SELECT AVG(salary) FROM employee;

3. MIN: ottiene il valore minimo in un set di valori.

SELECT MIN(salary) FROM employee;

4. MAX: ottiene il valore massimo in un set di valori.

SELECT MAX(salary) FROM employee;

Si unisce a SELECT in MySQL

1. INNER JOIN: restituisce i record che hanno un valore corrispondente in entrambe le tabelle.

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

2. JOIN SINISTRA: restituisce tutti i record dalla tabella di sinistra e i record corrispondenti dalla tabella di destra.

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

3. JOIN DESTRO: restituisce tutti i record dalla tabella destra e i record corrispondenti dalla tabella sinistra.

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

4. UNISCI ESTERNO COMPLETO: restituisce tutti i record in caso di corrispondenza sulla tabella sinistra o destra.

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

Conclusione: SELEZIONA in MySQL

Questi comandi e clausole che abbiamo discusso in precedenza sono molto utili in scenari in tempo reale in quanto forniscono i concetti di base su come utilizzare le query SQL per recuperare e manipolare i dati nel database. Oltre a questo, mentre si utilizzano query avanzate e analitiche come la funzione finestra ecc., Queste clausole sono molto importanti.

Articoli consigliati

Questa è una guida a SELECT in MySQL Qui discutiamo l'esempio per implementare SELECT in MySQL con clausole, funzioni di aggregazione e join. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Caratteri jolly in MySQL
  2. Cos'è lo schema MySQL?
  3. Come collegare il database a MySQL?
  4. Domande MySQL
  5. INSERISCI in Oracle | Esempi
  6. Esempi di DISTINCT in Oracle