Wprowadzenie do SELECT w MySQL

W tym temacie dowiemy się o SELECT w MySQL, a przede wszystkim o DQL, który jest „Data Query Language”. Jest to odtwarzane, gdy próbujemy pobrać rekordy z bazy danych i zaczyna się od polecenia „SELECT”. To polecenie może być używane z wieloma klauzulami SQL, a także innymi funkcjami, aby uzyskać pożądane rekordy.

Istnieje wiele rodzajów poleceń SQL, które można podzielić na następujące kategorie:

  • DDL (język definicji danych)
  • DML (język manipulacji danymi)
  • DQL (język zapytań danych)
  • DCL (język kontroli danych)
  • TCL (język kontroli transakcji)

Składnia:

1. Podstawowa składnia polecenia SELECT:

SELECT * FROM table_name;

Spowoduje to pobranie wszystkich rekordów ze wszystkimi atrybutami z tabeli.

SELECT column1, column2, …. FROM table_name;

Spowoduje to pobranie określonych kolumn z tabeli, które są przekazywane przez zapytanie.

2. Tego polecenia SELECT można także używać z poleceniem INSERT, które służy do dodawania rekordów do istniejącej tabeli.

INSERT INTO table_name1 SELECT * FROM table_name2;

Tutaj zapytanie pobierze wszystkie rekordy z nazwa_tabeli2 i wstawi je do nazwy_tabeli1.

Przykłady implementacji SELECT w MySQL

Rozważmy, że istnieje tabela klientów z następującymi atrybutami.

Cust_idImięNazwiskoKontaktE-mailMiastoIlość
1001RohitSharma9876736587Bombajdziesięć tysięcy
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Bombaj15000
1004VirendraShewag9087788988Delhi20000

Zobaczymy kilka podstawowych zapytań SELECT wykorzystujących pewne klauzule do podstawowego zrozumienia działania tego polecenia.

Przykład 1

SELECT * FROM customer;

(Spowoduje to pobranie wszystkich rekordów ze wszystkimi atrybutami z tabeli).

Wynik:

Cust_idImięNazwiskoKontaktE-mailMiastoIlość
1001RohitSharma9876736587Bombajdziesięć tysięcy
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Bombaj15000
1004VirendraShewag9087788988Delhi20000

Przykład nr 2

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

(Spowoduje to pobranie określonych kolumn z tabeli, które są przekazywane przez zapytanie)

Wynik:

Cust_idImięNazwiskoE-mailMiasto
1001RohitSharmaBombaj
1002ViratKohliDelhi
1003SachinTendulkarBombaj
1004VirendraShewagDelhi

Przykład nr 3

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

(GDZIE polecenie pobierze tylko te rekordy, gdzie miastem będzie „Delhi”)

Wynik:

Cust_idImięNazwiskoE-mailMiasto
1002ViratKohliDelhi
1004VirendraShewagDelhi

Przykład 4

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

(Klauzula BETWEEN zwróci rekordy, które spełniają podany zakres warunku przekazany w zapytaniu)

Wynik:

Cust_idImięNazwiskoMiastoIlość
1001RohitSharmaBombajdziesięć tysięcy
1003SachinTendulkarBombaj15000
1004VirendraShewagDelhi20000

Przykład 5

SELECT * FROM customer
ORDER BY amount DESC;

(Służy do sortowania wartości liczbowych i ciągów zarówno w sposób rosnący, jak i malejący. Ale domyślnie sortuje się w sposób rosnący. Jeśli chcemy w porządku malejącym, musimy to określić po użyciu klauzuli ORDER BY)

Wynik:

Cust_idImięNazwiskoKontaktE-mailMiastoIlość
1002ViratKohli8752877855Delhi60000
1004VirendraShewag9087788988Delhi20000
1003SachinTendulkar9867868678Bombaj15000
1001RohitSharma9876736587Bombajdziesięć tysięcy

Klauzule z poleceniem SELECT

Inne klauzule z poleceniem SELECT:

1. WYBIERZ: Służy do pobierania wszystkich rekordów z tabeli.

SELECT * FROM table;

2. DISTINCT: Służy do pobierania wszystkich unikalnych wartości z tabeli.

SELECT DISTINCT col_name FROM table;

3. GDZIE: Wykorzystano warunki wybaczania przy wyszukiwaniu zapisów.

SELECT employee_id FROM employee
WHERE name = 'stella';

4. LICZBA: Służy do uzyskania liczby rekordów obecnych w tabeli.

SELECT COUNT(*) FROM employee;

5. ORDER BY: Służy do sortowania zarówno wartości numerycznych, jak i łańcuchowych w sposób rosnący lub malejący. Ale domyślnie sortuje się w sposób rosnący. Jeśli chcemy zejść, musimy to określić po użyciu klauzuli ORDER BY.

SELECT first_name FROM student
ORDER BY marks desc;

6. LIMIT: Służy do określania liczby rekordów, które chcemy wykonać po wykonaniu zapytania. Jeśli chcemy najlepszych 5 uczniów klasy, po posortowaniu wyników możemy użyć tego LIMITU, określając 5. Aby pobrał tylko 5 najlepszych rekordów.

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** ORDER BY użyte tutaj do sortowania wartości w kolejności malejącej)

7. ORAZ: Jeśli podane są 2 warunki i oba są spełnione dla rekordu, tylko zapytanie pobierze te rekordy.

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

8. LUB: Jeśli podane zostaną 2 warunki i jeden z nich zostanie spełniony, rekord zostanie pobrany.

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

9. NOT: Używany z warunkami. Jeśli podamy NIE przed jakimikolwiek warunkami, rekordy niespełniające tych warunków zostaną pobrane.

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. MIĘDZY: Ten operator wybiera rekordy w danym zakresie. Najczęściej używamy tego, gdy chcemy określić zakres dat.

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: Ten operator pozwala nam określić wiele wartości w klauzuli WHERE.

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

12. JAK: Ten operator jest używany z klauzulą ​​WHERE do wyszukiwania określonego wzorca w kolumnie zawierającej ciąg.

  • „A%” - ciąg zaczyna się od A
  • „& A” - kończy się na A
  • „% A%” - A będzie pomiędzy ciągiem
  • „_A%” - tutaj drugą literą będzie A
  • „% A_” - 2. miejsce od ostatniej litery będzie A

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

13. SUBSTRING: Służy do wybierania określonego znaku z ciągu znaków poprzez określenie pozycji.

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

(pobierze znak z 1. do 5. pozycji ciągu)

14. INSTR: Zwraca pozycję ciągu w innym ciągu.

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

(znajdzie pozycję „długopis” w słowie „niezależność”)

15. GROUP BY: Służy do segregowania rekordów na podstawie określonych warunków.

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

(Tutaj pogrupuj według posegregowanych pracowników według ich działu i pensji przekraczającej 100 tys.
Warunek zawsze zawiera instrukcję HAVING w klauzuli GROUP BY).

Funkcje agregujące

Poniżej znajduje się inna funkcja agregująca:

1. SUMA: Oblicza sumę wartości.

SELECT SUM(salary) FROM employee;

2. AVG: Oblicza średni zestaw wartości.

SELECT AVG(salary) FROM employee;

3. MIN: Pobiera minimalną wartość z zestawu wartości.

SELECT MIN(salary) FROM employee;

4. MAX: Pobiera maksymalną wartość z zestawu wartości.

SELECT MAX(salary) FROM employee;

Dołącza do SELECT w MySQL

1. ŁĄCZENIE WEWNĘTRZNE: Zwraca rekordy, które mają pasującą wartość w obu tabelach.

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

2. LEFT JOIN: Zwraca wszystkie rekordy z lewej tabeli i dopasowane rekordy z prawej tabeli.

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

3. PRAWE DOŁĄCZ: Zwraca wszystkie rekordy z prawej tabeli i dopasowane rekordy z lewej tabeli.

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

4. PEŁNE DOŁĄCZENIE DO ZEWNĘTRZNEJ: Zwraca wszystkie rekordy, gdy występuje dopasowanie na lewej lub prawej tabeli.

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

Wniosek - wybierz w MySQL

Te polecenia i klauzule, które omówiliśmy powyżej, są bardzo przydatne w scenariuszach w czasie rzeczywistym, ponieważ zapewniają podstawowe pojęcia dotyczące korzystania z zapytań SQL do pobierania i manipulowania danymi w bazie danych. Oprócz tego, podczas korzystania z zaawansowanych zapytań analitycznych, takich jak funkcja okna itp., Te klauzule są bardzo ważne.

Polecane artykuły

To jest przewodnik po SELECT w MySQL. Omawiamy przykład implementacji SELECT w MySQL z klauzulami, funkcjami agregującymi i złączeniami. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Symbole wieloznaczne w MySQL
  2. Co to jest schemat MySQL?
  3. Jak podłączyć bazę danych do MySQL?
  4. Zapytania MySQL
  5. WSTAW w Oracle | Przykłady
  6. Przykłady DISTINCT w Oracle