• SELECT: SELECT е най-често използваният оператор, който ни позволява да извлечем информация от таблица.

Синтаксис за SELECT:

SELECT column_name FROM table_name

Ако искате всички колони от таблицата:

SELECT * FROM table_name
  • ИЗБЕРЕТЕ РАЗЛИЧНО:Понякога таблица съдържа колона, която има дублиращи се стойности. Ключовата дума DISTINCT може да се използва за връщане само на отделните стойности в колона.

Синтаксис:

SELECT DISTINCT column FROM table_name
  • БРОЙ:Връща броя на редовете в таблица.

Синтаксис:

SELECT COUNT(name) FROM table_name;

С DISTINCT:

SELECT COUNT(DISTINCT(name)) FROM table_name;
  • SELECT WHERE:Инструкцията WHERE ни позволява да посочим условия за колони за редовете, които да бъдат върнати.

Синтаксис:

SELECT column1,column2 FROM table WHERE conditions;
  • ПОРЕД:С помощта на това можете да сортирате редове въз основа на стойност на колона или във възходящ, или в низходящ ред.

Синтаксис:

SELECT column1,column2 FROM table ORDER BY column1 ASC/DESC;
  • LIMIT:Командата LIMIT ни позволява да ограничим броя на редовете, върнати за заявка.

Синтаксис:

SELECT column1,column2 FROM table LIMIT 10;
  • BETWEEN:Операторът BETWEEN може да се използва за съпоставяне на стойност с диапазон от стойности.

Синтаксис:

SELECT column1 FROM table WHERE column1 BETWEEN 1 AND 10;
  • IN :Използваме оператор IN, за да създадем условие, което проверява стойността, включена в наличния списък с опции.

Синтаксис:

SELECT column1 FROM table WHERE column1 IN (options)
  • LIKE и ILIKE :ОператорътLIKE ни позволява да извършваме съпоставяне на образец срещу низови данни с помощта на заместващи символи:
  1. Процент % : Съвпада с всяка последователност от знаци
  2. Долна черта _ : Съвпада с всеки отделен знак

Забележка: LIKE е малка и малка буква, докато ILIKE е малка и малка буква

Примери:

SELECT * FROM customer WHERE first_name LIKE ‘A%’;
SELECT * FROM customer WHERE first_name ILIKE 'a%' and last_name ILIKE 's%';
SELECT * FROM customer WHERE first_name LIKE '_her%'

Най-често срещаните агрегатни функции:

  • AVG() — връща стойност с плаваща запетая
  • COUNT() — връща броя на редовете
  • MAX() — връща максимална стойност
  • MIN() — връща минимална стойност
  • SUM() — връща сумата от всички стойности

Примери:

SELECT Min(replacement_cost),MAX(replacement_cost),ROUND(AVG(replacement_cost),2) from film;

ГРУПИРАНЕ ПО:Позволява ни да обобщаваме колони според дадена категория.

Общ синтаксис:

SELECT category_col, AVG(data_col) FROM table GROUP BY category_col
  • HAVING:HAVING ни позволява да използваме обобщен резултат като филтър заедно с ГРУПИРАНЕ по.

Пример:

SELECT customer_id, SUM(amount) FROM payment GROUP BY customer_id HAVING SUM(amount)<100;
  • Изявление за AS:Позволява ни да създадем „псевдоним“ за колона или резултат.
SELECT column as new_name FROM table;
  • СЪЕДИНЯВАНЕ:Позволява ни да комбинираме информация от множество таблици.
  • Видове присъединявания:
  1. INNER JOIN:Вътрешното съединение ще доведе до набор от записи, които съвпадат и в двете таблици.
SELECT * FROM Table B INNER JOIN Table A ON TableA.col_match = TableB.col_match

2. ПЪЛНО ВЪНШНО СЪЕДИНЯВАНЕ (ПЪЛНО СЪЕДИНЯВАНЕ) :Ще се получи пълно външно свързване с всички записи, където има съвпадение в левите или десните записи на таблицата.

SELECT * FROM TableB FULL OUTER JOIN TableA ON TableA.col_match = TableB.col_match

3. ЛЯВО ВЪНШНО СЪЕДИНЯВАНЕ: Лявото външно съединение води до набор от записи, които са там в лявата таблица, ако няма съвпадение с дясната таблица, резултатите са нулеви.

SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.col_match = TableB.col_match

Забележка: В този ред на присъединяване има значение.

4 . ДЕСНИ СОЕДИНЕНИЯ:Дясното присъединяване е същото като лявото присъединяване, с изключение на размяната на масите.

SELECT * FROM TableA RIGHT OUTER JOIN TableB ON TableA.col_match = TableB.col_match

  • Union:Операторът Union се използва за комбиниране на резултатния набор от два или повече израза SELECT.
SELECT column_name(s) FROM table1 
UNION
SELECT column_name(s) FROM table2;

Благодаря ви, че прочетохте. Надявам се, че сте намерили този блог за полезен. Скоро ще публикувам друг блог за разширени SQL заявки.

Приятно кодиране :)