MySQL примеры

SELECT. Выборка по определённым полям

SELECT snum, sname, city, comm FROM Salespeople

Выборка всех полей

SELECT * FROM Salespeople

Убираем дубликаты. DISTINCT может указываться только один раз в данном предложении

SELECT DISTINCT snum FROM Orders

Выборка по условию

SELECT sname, city FROM Salespeople WHERE city = "LONDON" and rating > 200 
SELECT * FROM Salespeople WHERE city = 'Barcelona' OR city = 'London'
//аналог запроса 
SELECT * FROM Salespeople WHERE city IN ( 'Barcelona', 'London' )

BETWEEN

SELECT * FROM Salespeople WHERE comm BETWEEN 10 AND 12;
SELECT * FROM Customers WHERE cname BETWEEN 'A' AND 'G';
SELECT * FROM Salespeople WHERE sname LIKE 'P _ _ l %';

Агрегатные функции

  • COUNT производит номера строк или не-NULL значения полей которые выбрал запрос.
  • SUM производит арифметическую сумму всех выбранных значений данного поля.
  • AVG производит усреднение всех выбранных значений данного поля.
  • MAX производит наибольшее из всех выбранных значений данного поля.
  • MIN производит наименьшее из всех выбранных значений данного поля.
SELECT SUM (amt) FROM Orders
SELECT AVG (amt) FROM Orders
SELECT COUNT (*) FROM Customers
SELECT COUNT(DISTINCT `field_1`) FROM `table` // кол-во уникальных записей в таблице

Объединение таблиц

SELECT first.cname, second.cname FROM first, second WHERE first.rating = second.rating

Вставка одного запроса внутрь другого

SELECT * FROM Orders WHERE snum = ( SELECT snum FROM people  WHERE sname = 'Motika')

EXISTS

SELECT cnum, cname, city FROM Cust WHERE EXISTS (SELECT * FROM Customers WHERE city = "San Jose");

Использование операторов ANY, ALL, и SOME

SELECT * FROM Salespeople WHERE city = ANY (SELECT city FROM Customers )

UNION — объединение многочисленных запросов в один

SELECT snum, sname FROM Salespeople  WHERE city = 'London'
  UNION
SELECT cnum, cname FROM Customers WHERE city = 'London'

INSERT UPDATE DELETE  ( Ввод, удаление и изменение значений полей )

INSERT INTO Salespeople VALUES (1001, 'Peel', 'London', .12);
UPDATE Customers SET rating = 200 WHERE snum = 1001;
DELETE FROM Salespeople WHERE city = 'London';

JOINS

SQL JOINS