Учебники

DocumentDB SQL — операторы

Оператор — это зарезервированное слово или символ, используемый в основном в предложении SQL WHERE для выполнения операций, таких как сравнения и арифметические операции. DocumentDB SQL также поддерживает различные скалярные выражения. Чаще всего используются двоичные и унарные выражения .

Следующие операторы SQL в настоящее время поддерживаются и могут использоваться в запросах.

Операторы сравнения SQL

Ниже приведен список всех операторов сравнения, доступных в грамматике SQL DocumentDB.

S.No. Операторы и описание
1

знак равно

Проверяет, равны ли значения двух операндов или нет. Если да, то условие становится истинным.

2

знак равно

Проверяет, равны ли значения двух операндов или нет. Если значения не равны, условие становится истинным.

3

<>

Проверяет, равны ли значения двух операндов или нет. Если значения не равны, условие становится истинным.

4

>

Проверяет, больше ли значение левого операнда, чем значение правого операнда. Если да, то условие становится истинным.

5

<

Проверяет, меньше ли значение левого операнда, чем значение правого операнда. Если да, то условие становится истинным.

6

> =

Проверяет, больше ли значение левого операнда или равно значению правого операнда. Если да, то условие становится истинным.

7

<=

Проверяет, меньше ли значение левого операнда или равно значению правого операнда. Если да, то условие становится истинным.

знак равно

Проверяет, равны ли значения двух операндов или нет. Если да, то условие становится истинным.

знак равно

Проверяет, равны ли значения двух операндов или нет. Если значения не равны, условие становится истинным.

<>

Проверяет, равны ли значения двух операндов или нет. Если значения не равны, условие становится истинным.

>

Проверяет, больше ли значение левого операнда, чем значение правого операнда. Если да, то условие становится истинным.

<

Проверяет, меньше ли значение левого операнда, чем значение правого операнда. Если да, то условие становится истинным.

> =

Проверяет, больше ли значение левого операнда или равно значению правого операнда. Если да, то условие становится истинным.

<=

Проверяет, меньше ли значение левого операнда или равно значению правого операнда. Если да, то условие становится истинным.

Логические операторы SQL

Ниже приведен список всех логических операторов, доступных в грамматике SQL DocumentDB.

S.No. Операторы и описание
1

А ТАКЖЕ

Оператор AND допускает существование нескольких условий в предложении WHERE оператора SQL.

2

МЕЖДУ

Оператор BETWEEN используется для поиска значений, которые находятся в пределах набора значений, учитывая минимальное значение и максимальное значение.

3

В

Оператор IN используется для сравнения значения со списком литеральных значений, которые были указаны.

4

ИЛИ ЖЕ

Оператор OR используется для объединения нескольких условий в предложении WHERE оператора SQL.

5

НЕ

Оператор NOT меняет значение логического оператора, с которым он используется. Например, NOT EXISTS, NOT BETWEEN, NOT IN и т. Д. Это оператор отрицания.

А ТАКЖЕ

Оператор AND допускает существование нескольких условий в предложении WHERE оператора SQL.

МЕЖДУ

Оператор BETWEEN используется для поиска значений, которые находятся в пределах набора значений, учитывая минимальное значение и максимальное значение.

В

Оператор IN используется для сравнения значения со списком литеральных значений, которые были указаны.

ИЛИ ЖЕ

Оператор OR используется для объединения нескольких условий в предложении WHERE оператора SQL.

НЕ

Оператор NOT меняет значение логического оператора, с которым он используется. Например, NOT EXISTS, NOT BETWEEN, NOT IN и т. Д. Это оператор отрицания.

SQL арифметические операторы

Ниже приведен список всех арифметических операторов, доступных в грамматике SQL DocumentDB.

S.No. Операторы и описание
1

+

Добавление — добавляет значения по обе стороны от оператора.

2

Вычитание — вычитает правый операнд из левого операнда.

3

*

Умножение — Умножает значения по обе стороны от оператора.

4

/

Деление — делит левый операнд на правый.

5

%

Модуль — Делит левый операнд на правый операнд и возвращает остаток.

+

Добавление — добавляет значения по обе стороны от оператора.

Вычитание — вычитает правый операнд из левого операнда.

*

Умножение — Умножает значения по обе стороны от оператора.

/

Деление — делит левый операнд на правый.

%

Модуль — Делит левый операнд на правый операнд и возвращает остаток.

Мы рассмотрим те же документы в этом примере. Ниже приводится документ AndersenFamily .

{ 
   "id": "AndersenFamily", 
   "lastName": "Andersen", 
	
   "parents": [ 
      { "firstName": "Thomas", "relationship":  "father" }, 
      { "firstName": "Mary Kay", "relationship":  "mother" } 
   ], 
	
   "children": [ 
      { 
         "firstName": "Henriette Thaulow", 
         "gender": "female", 
         "grade": 5, 
         "pets": [ { "givenName": "Fluffy", "type":  "Rabbit" } ] 
      } 
   ],
	
   "location": { "state": "WA", "county": "King", "city": "Seattle" }, 
   "isRegistered": true 
}

Ниже приводится документ SmithFamily .

{ 
   "id": "SmithFamily", 
	
   "parents": [ 
      { "familyName": "Smith", "givenName": "James" }, 
      { "familyName": "Curtis", "givenName": "Helen" } 
   ],
	
   "children": [ 
      { 
         "givenName": "Michelle", 
         "gender": "female", 
         "grade": 1 
      },
		
      { 
         "givenName": "John", 
         "gender": "male",
         "grade": 7, 
			
         "pets": [ 
            { "givenName": "Tweetie", "type": "Bird" } 
         ] 
      } 
   ],
	
   "location": { 
      "state": "NY", 
      "county": "Queens", 
      "city": "Forest Hills" 
   },
	
   "isRegistered": true 
}

Ниже приводится документ WakefieldFamily .

{ 
   "id": "WakefieldFamily", 
	
   "parents": [ 
      { "familyName": "Wakefield", "givenName": "Robin" }, 
      { "familyName": "Miller", "givenName": "Ben" } 
   ],
	
   "children": [ 
      { 
         "familyName": "Merriam", 
         "givenName": "Jesse", 
         "gender": "female", 
         "grade": 6,
			
         "pets": [ 
            { "givenName": "Charlie Brown", "type": "Dog" }, 
            { "givenName": "Tiger", "type": "Cat" }, 
            { "givenName": "Princess", "type": "Cat" } 
         ] 
      },
		
      { 
         "familyName": "Miller", 
         "givenName": "Lisa", 
         "gender": "female", 
         "grade": 3, 
			
         "pets": [ 
            { "givenName": "Jake", "type": "Snake" } 
         ] 
      } 
   ],
	
   "location": { "state": "NY", "county": "Manhattan", "city": "NY" }, 
   "isRegistered": false 
}

Давайте рассмотрим простой пример, в котором оператор сравнения используется в предложении WHERE.

Оператор сравнения

В этом запросе в предложении WHERE указано условие (WHERE f.id = «WakefieldFamily»), и оно будет извлекать документ, идентификатор которого равен WakefieldFamily.

SELECT * 
FROM f  
WHERE f.id = "WakefieldFamily"

Когда вышеуказанный запрос будет выполнен, он вернет полный документ JSON для WakefieldFamily, как показано в следующих выходных данных.

[ 
   { 
      "id": "WakefieldFamily", 
      "parents": [ 
         { 
            "familyName": "Wakefield", 
            "givenName": "Robin" 
         },
			
         { 
            "familyName": "Miller", 
            "givenName": "Ben" 
         } 
      ],
		
      "children": [ 
         { 
            "familyName": "Merriam", 
            "givenName": "Jesse", 
            "gender": "female", 
            "grade": 6,
				
            "pets": [ 
               { 
                  "givenName": "Charlie Brown", 
                  "type": "Dog" 
               }, 
					
               { 
                  "givenName": "Tiger", 
                  "type": "Cat" 
               },
					
               { 
                  "givenName": "Princess", 
                  "type": "Cat" 
               } 
            ]
				
         },
			
         { 
            "familyName": "Miller", 
            "givenName": "Lisa", 
            "gender": "female", 
            "grade": 3, 
				
            "pets": [ 
               { 
                  "givenName": "Jake", 
                  "type": "Snake" 
               } 
            ] 
         } 
      ],
		
      "location": { 
         "state": "NY", 
         "county": "Manhattan", 
         "city": "NY" 
      }, 
		
      "isRegistered": false, 
      "_rid": "Ic8LAJFujgECAAAAAAAAAA==", 
      "_ts": 1450541623, 
      "_self": "dbs/Ic8LAA==/colls/Ic8LAJFujgE=/docs/Ic8LAJFujgECAAAAAAAAAA==/", 
      "_etag": "\"00000500-0000-0000-0000-567582370000\"", 
      "_attachments": "attachments/" 
   } 
] 		 

Давайте посмотрим на другой пример, в котором запрос будет извлекать дочерние данные, оценка которых больше 5.

SELECT * 
FROM Families.children[0] c 
WHERE (c.grade > 5)

Когда вышеуказанный запрос будет выполнен, он получит следующий поддокумент, как показано в выводе.