Тази статия предоставя списък с SQL оператори и следователно може да се използва като cheat sheet за SQL оператори.
Не всички от тези оператори се поддържат във всички СУБД. Ако се съмнявате, проверете документацията за вашата конкретна СУБД.
Аритметични оператори на SQL
Оператор | Описание |
+ | Оператор за събиране. Събира две числа. Този оператор може също да добави число в дни от дата (може да зависи от вашата СУБД). |
- | Оператор за изваждане. Изважда две числа. Този оператор може също да извади число в дни от дата (може да зависи от вашата СУБД). |
* | Оператор за умножение. Умножава два израза. |
/ | Оператор на разделяне. Разделя едно число на друго. |
% | Модулен оператор. Връща остатъка от едно число, разделено на друго. |
SQL побитови оператори
Оператор | Описание |
& | Побитов оператор И. Извършва побитова логическа операция И между две цели числа. |
| | Побитов оператор ИЛИ. Извършва побитова логическа операция ИЛИ между две посочени целочислени стойности, преведени в двоични изрази в SQL изрази. |
# | Оператор с изключителен побит ИЛИ (XOR). |
^ | Побитово изключителен оператор ИЛИ (XOR). Извършва побитова изключителна операция ИЛИ между две цели числа. |
~ | Побитов оператор НЕ. Извършва побитова логическа НЕ операция върху цяло число. |
<< | Оператор побитово изместване наляво. Измества битовете в левия операнд наляво със сумата, посочена от десния операнд. |
>> | Оператор побитово изместване надясно. Измества битовете в левия операнд надясно с количеството, определено от десния операнд. |
Оператори за сравнение на SQL
Оператор | Описание |
= | Оператор за равенство. Сравнява равенството на два израза. |
> | Оператор по-голямо. Сравнява два израза и връща TRUE, ако левият операнд има стойност по-висока от десния операнд; в противен случай резултатът е FALSE. |
< | Оператор по-малко от. Сравнява два израза и връща TRUE, ако левият операнд има стойност по-ниска от десния операнд; в противен случай резултатът е FALSE. |
>= | Оператор по-голямо или равно на. Сравнява два израза и връща TRUE, ако левият операнд има стойност, по-голяма или равна на десния операнд; в противен случай връща FALSE. |
<= | Оператор по-малко или равно на. Сравнява два израза и връща TRUE, ако левият операнд има стойност, по-ниска или равна на десния операнд; в противен случай връща FALSE. |
<> | Оператор не е равно на. Сравнява два израза и връща TRUE, ако левият операнд не е равен на десния операнд; в противен случай резултатът е FALSE. |
!< | Не по-малко от оператор. Сравнява два израза и връща TRUE, ако левият операнд няма стойност, по-ниска от десния операнд; в противен случай резултатът е FALSE. |
!= | Оператор не е равно на. Сравнява два израза и връща TRUE, ако левият операнд не е равен на десния операнд; в противен случай резултатът е FALSE. |
!> | Оператор "Не по-голямо от". Сравнява два израза и връща TRUE, ако левият операнд няма по-голяма стойност от десния операнд; в противен случай резултатът е FALSE. |
Сложни SQL оператори
Оператор | Описание |
+= | Добавяне на оператор за присвояване. Добавя две числа и задава стойност на резултата от операцията. |
-= | Оператор за присвояване на изваждане. Изважда две числа и задава стойност на резултата от операцията. |
*= | Оператор за присвояване на умножение. Умножава две числа и задава стойност на резултата от операцията. |
/= | Оператор за присвояване на разделяне. Разделя едно число на друго и задава стойност на резултата от операцията. |
%= | Оператор за присвояване на модул. Разделя едно число на друго и задава стойност на резултата от операцията. |
&= | Оператор за присвояване побитово И. Извършва побитова логическа операция И между две цели числа и задава стойност на резултата от операцията. |
^= | Оператор за присвояване с изключителен побит ИЛИ (XOR). Извършва побитова изключителна операция ИЛИ между две цели числа и задава стойност на резултата от операцията. |
|= | Оператор за присвояване побитово ИЛИ. Извършва побитова логическа операция ИЛИ между две посочени целочислени стойности, преведени в двоични изрази в SQL изрази, и задава стойност на резултата от операцията. |
SQL логически оператори
Оператор | Описание |
ALL | Връща TRUE, когато всички стойности на подзаявката отговарят на условието. |
AND | Комбинира два булеви израза и връща TRUE, когато и двата израза са TRUE. |
ANY | Връща TRUE, когато някоя от стойностите на подзаявката отговаря на условието. |
BETWEEN | Определя диапазон за тестване. Връща TRUE, когато операндът е в обхвата на сравнения. |
EXISTS | Указва подзаявка за тестване на съществуването на редове. Връща TRUE, когато подзаявката върне един или повече записи. |
IN | Определя дали определена стойност съответства на която и да е стойност в подзаявка или списък. Връща TRUE, когато операндът е равен на един от списък с изрази. |
LIKE | Определя дали конкретен символен низ съответства на определен модел. Връща TRUE, когато операндът съвпада с шаблон. |
NOT | Отрича булев вход (той обръща стойността на всеки булев израз). Следователно връща TRUE, когато изразът е FALSE. В MariaDB NOT е ограничен до отричане на IN , BETWEEN и EXISTS клаузи. |
OR | Комбинира две условия. Връща TRUE, когато някое от условията е TRUE. |
SOME | Същото като ANY . Връща TRUE, когато някоя от стойностите на подзаявката отговаря на условието. |
Оператори за набор от SQL
Оператор | Описание |
EXCEPT | Връща отделни редове чрез сравняване на резултатите от две заявки. Връща отделни редове от лявата входна заявка, които не се извеждат от дясната входна заявка. |
INTERSECT | Връща отделни редове чрез сравняване на резултатите от две заявки. Връща отделни редове, които се извеждат както от левия, така и от десния оператор на заявки за въвеждане. |
INTERSECT ALL | Връща отделни редове чрез сравняване на резултатите от две заявки. Връща отделни редове, които се извеждат както от левия, така и от десния оператор на заявки за въвеждане. |
UNION | Конкатенира резултатите от две заявки в един набор от резултати, с изключение на дубликатите. |
UNION ALL | Конкатенира резултатите от две заявки в един набор от резултати, включително дубликати. |
MINUS | Връща отделни редове чрез сравняване на резултатите от две заявки. Връща отделни редове от лявата входна заявка, които не се извеждат от дясната входна заявка. |
SQL низови оператори
Оператор | Описание |
+ | Оператор за конкатенация на низове (SQL сървър). Конкатенацията на низове е операцията за свързване на низове от символи от край до край. |
|| | Оператор за конкатенация на низове (DB2, Oracle, PostgreSQL, SQLite). Конкатенацията на низове е операцията за свързване на низове от символи от край до край. |
+= | Оператор за присвояване на конкатенация на низове. |
% | Процент на съвпадение на заместващи символи. Съвпада с всеки низ от нула или повече знака. Този заместващ знак може да се използва като префикс или суфикс и може да се използва и в средата. |
[] | Заместващи знаци за съвпадение. Отговаря на всеки единичен знак в рамките на посочения диапазон или набор, който е посочен между скоби [ ] . Тези заместващи знаци могат да се използват при сравнения на низове, които включват съвпадение на шаблон, като LIKE . Поддържа се в SQL Server. Не се поддържа в MySQL, Oracle, DB2 и SQLite. |
[^] | Символ/и за заместващи знаци не да съвпадне. Съответства на всеки единичен знак, който не е в рамките на диапазона или набора, посочен между квадратните скоби [^] . Тези заместващи знаци могат да се използват при сравнения на низове, които включват съвпадение на шаблон, като LIKE . |
_ | Символ за заместващ знак – съвпада с един знак. Съответства на всеки единичен знак в операция за сравнение на низове, която включва съвпадение на шаблон, като LIKE . Не се поддържа в DB2. |
Унарни оператори на SQL
Оператор | Описание |
+ | Положителен унарен оператор. Числовата стойност е положителна. |
- | Отрицателен унарен оператор. Числовата стойност е отрицателна. |
~ | Побитов оператор НЕ. Връща единиците, допълнение към числото. |
PRIOR | Собствен оператор на Oracle. Оценява следния израз за родителския ред на текущия ред в йерархична или дървоструктурирана заявка. При такава заявка трябва да използвате този оператор в CONNECT BY клауза за дефиниране на връзката между родителския и дъщерния ред. |
Други SQL оператори
Оператор | Описание |
(+) | Оператор за външно свързване (собствен оператор на Oracle). Показва, че предходната колона е външната колона за свързване в съединение. |
:: | Оператор за разделяне на обхвата. Предоставя достъп до статични членове от съставен тип данни. Съставен тип данни е този, който съдържа множество прости типове данни и методи. |
Какво са SQL операторите?
SQL операторите са символи, които определят действие, което се изпълнява върху един или повече изрази.
SQL операторите манипулират отделни елементи от данни и връщат резултат. Елементите от данни се наричат операнди или аргументи . SQL операторите са представени със специални знаци или с ключови думи.
Ето един прост пример:
SELECT PetId FROM Pets
WHERE PetName = 'Fluffy'
AND DOB > '2020-01-01';
В този SQL SELECT
има три оператора изявление.
- Операторът Equals (
=
) сравнява равенството на два израза (стойността на PetName
колона и низ Fluffy
)
- Операторът по-голямо от (
>
) сравнява два израза и връща TRUE
ако левият операнд има стойност по-висока от десния операнд; в противен случай резултатът е FALSE
. В този случай се сравнява стойността на DOB
колона и датата 2020-01-01
за да видите дали тази дата е по-голяма от стойността на DOB
колона.
AND
оператор комбинира два булеви израза и връща TRUE
когато и двата израза са TRUE
. В този случай той връща TRUE
когато PetName = 'Fluffy'
и DOB > '2020-01-01'
.
Операторите, изброени на тази страница, могат да се използват за конструиране на сложни SQL заявки, които могат да ви помогнат да върнете данните, от които се нуждаете.
За повече примери вижте 12 често използвани SQL оператори.