Въведение в SELECT в MySQL

В тази тема ще научим за SELECT в MySQL и най-вече за DQL, който е „Език за заявка на данни“. Това става за игра, когато се опитваме да извлечем записи от базата данни и тя започва с командата „ИЗБОР“. Тази команда може да се използва с много SQL клаузи, както и с други функции за получаване на желаните записи.

Има много видове SQL команди, които могат да бъдат категоризирани в следното:

  • DDL (език за дефиниране на данни)
  • DML (език за обработка на данни)
  • DQL (език за запитване на данни)
  • DCL (език за контрол на данните)
  • TCL (език за контрол на транзакциите)

Синтаксис:

1. Основният синтаксис на командата SELECT:

SELECT * FROM table_name;

Това ще извлече всички записи с всички атрибути от таблица.

SELECT column1, column2, …. FROM table_name;

Това ще вземе посочени колони от таблица, които се предават чрез заявката.

2. Тази команда SELECT може да се използва и с командата INSERT, която се използва за добавяне на записи към съществуващата таблица.

INSERT INTO table_name1 SELECT * FROM table_name2;

Тук заявката ще извлече всички записи от table_name2 и ще ги вмъкне в table_name1.

Примери за изпълнение на SELECT в MySQL

Нека помислим, че има клиентска таблица със следните атрибути.

Cust_idПърво имеФамилияконтактелектронна пощаградКоличество
1001РохитШарма9876736587Мумбай10000
1002ViratKohli8752877855Делхи60000
1003SachinTendulkar9867868678Мумбай15000
1004VirendraShewag9087788988Делхи20000

Ще видим някои основни SELECT заявки, използвайки някои клаузи за основното разбиране за това как работи тази команда.

Пример №1

SELECT * FROM customer;

(Това ще извлече всички записи с всички атрибути от таблица.)

изход:

Cust_idПърво имеФамилияконтактелектронна пощаградКоличество
1001РохитШарма9876736587Мумбай10000
1002ViratKohli8752877855Делхи60000
1003SachinTendulkar9867868678Мумбай15000
1004VirendraShewag9087788988Делхи20000

Пример №2

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

(Това ще вземе посочени колони от таблица, които се предават чрез заявка)

изход:

Cust_idПърво имеФамилияелектронна пощаград
1001РохитШармаМумбай
1002ViratKohliДелхи
1003SachinTendulkarМумбай
1004VirendraShewagДелхи

Пример №3

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

(Командата WHERE ще извлече само тези записи, където градът ще бъде „Delhi“)

изход:

Cust_idПърво имеФамилияелектронна пощаград
1002ViratKohliДелхи
1004VirendraShewagДелхи

Пример №4

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

(Клаузата BETWEEN ще върне записи, които отговарят на дадения диапазон от състояния, предадени в заявката)

изход:

Cust_idПърво имеФамилияградКоличество
1001РохитШармаМумбай10000
1003SachinTendulkarМумбай15000
1004VirendraShewagДелхи20000

Пример №5

SELECT * FROM customer
ORDER BY amount DESC;

(Използва се за сортиране както на числови, така и на низови стойности или във възходящ или низходящ начин. Но по подразбиране той сортира във възходящ начин. Ако искаме в низходящ ред, тогава трябва да го уточним, след като използваме клауза ORDER BY)

изход:

Cust_idПърво имеФамилияконтактелектронна пощаградКоличество
1002ViratKohli8752877855Делхи60000
1004VirendraShewag9087788988Делхи20000
1003SachinTendulkar9867868678Мумбай15000
1001РохитШарма9876736587Мумбай10000

Клаузи с SELECT команда

Други клаузи с команда SELECT:

1. SELECT: Използва се за извличане на всички записи от таблица.

SELECT * FROM table;

2. DISTINCT: Използва се за извличане на всички уникални стойности от таблица.

SELECT DISTINCT col_name FROM table;

3. КЪДЕ: Използвани условия за прошка при извличане на записи.

SELECT employee_id FROM employee
WHERE name = 'stella';

4. COUNT: Използва се за получаване на броя записи, присъстващи в таблица.

SELECT COUNT(*) FROM employee;

5. ПОРЪЧКА ПО: Използва се за сортиране както на числови, така и на низови стойности във възходящ или низходящ начин. Но по подразбиране се подрежда във възходящ начин. Ако искаме да се спуснем, тогава трябва да го уточним, след като използваме клаузата ORDER BY.

SELECT first_name FROM student
ORDER BY marks desc;

6. ОГРАНИЧЕНИЕ: Използва се за уточняване на броя записи, които искаме след изпълнение на заявката. Ако искаме най-добрите 5 ученици от даден клас, след като сортираме резултатите, можем да използваме това ОГРАНИЧЕНИЕ като посочим 5. Така че той ще извлече само първите 5 записа.

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** ПОРЪЧАЙ, използвана тук за сортиране на стойността в низходящ ред)

7. И: Ако са дадени 2 условия и двете са изпълнени за запис, тогава само заявката ще получи тези записи.

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

8. ИЛИ: Ако са дадени 2 условия и едно от тях е изпълнено за запис, тогава този запис ще бъде получен.

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

9. НЕ: Използва се при условия. Ако уточним НЕ преди каквито и да е условия, ще бъдат извлечени записи, които не отговарят на тези условия.

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. МЕЖДУ: Този оператор избира записи в даден диапазон. Най-често използваме това, когато искаме да уточним диапазон от дати.

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: Този оператор ни позволява да посочим множество стойности в клауза WHERE.

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

12. LIKE: Този оператор се използва с клаузата WHERE за търсене на определен шаблон в колона, съдържаща низа.

  • 'A%' - низ започва с A
  • '& A' - завършва с A
  • '% A%' - A ще бъде между низ
  • '_A%' - Тук втората буква ще бъде A
  • '% A_' - Втората от последната буква ще бъде A

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

13. SUBSTRING: Използва се за избор на конкретен символ от низ, като посочва позицията.

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

(ще извади символ от 1-ва до 5-та позиция на низ)

14. INSTR: Това връща позиция на низ в друг низ.

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

(то ще намери позицията на "химикалка" в думата "независимост")

15. GROUP BY: Използва се за разделяне на записи въз основа на някои зададени условия.

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

(Тук група от разделени служители въз основа на техния отдел и чиято заплата над 100k.
Условието винаги идва с HAVING оператор в клауза GROUP BY.)

Съвместими функции

По-долу е различната функция на агрегат:

1. SUM: Изчислява сумата от стойности.

SELECT SUM(salary) FROM employee;

2. AVG: Изчислява средния набор от стойности.

SELECT AVG(salary) FROM employee;

3. MIN: Получава минималната стойност в набор от стойности.

SELECT MIN(salary) FROM employee;

4. MAX: Получава максималната стойност в набор от стойности.

SELECT MAX(salary) FROM employee;

Присъединява се към SELECT в MySQL

1. INNER JOIN: Връща записи, които имат съвпадение в двете таблици.

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

2. LEFT JOIN: Връща всички записи от лявата таблица и съвпадащите записи от дясната таблица.

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

3. RIGHT JOIN: Връща всички записи от дясната таблица и съвпадащите записи от лявата таблица.

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

4. FULL OUTER JOIN: Връща всички записи, когато има съвпадение на лявата или дясната таблица.

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

Извод - ИЗБЕРЕТЕ в MySQL

Тези команди и клаузи, които разгледахме по-горе, са много полезни при сценарии в реално време, тъй като предоставят основните концепции за това как да използвате SQL заявки за получаване и манипулиране на данни в базата данни. Освен това, докато използвате предварителни и аналитични заявки като функция на прозорците и т.н., тези клаузи са много важни.

Препоръчителни статии

Това е ръководство за SELECT в MySQL Тук обсъждаме Примера за внедряване на SELECT в MySQL с клаузи, агрегирани функции и присъединявания. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Wildcards в MySQL
  2. Какво е MySQL схема?
  3. Как да свържете база данни с MySQL?
  4. MySQL заявки
  5. INSERT в Oracle | Примери
  6. Примери за DISTINCT в Oracle