49 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: SQL Between Operator | |||
|  | localeTitle: SQL между оператором | |||
|  | --- | |||
|  | ## SQL между оператором
 | |||
|  | 
 | |||
|  | Оператор BETWEEN полезен из-за SQL Query Optimizer. Хотя BETWEEN функционально то же самое, что: x <= element <= y, SQL Query Optimizer быстрее распознает эту команду и оптимизирует код для ее запуска. | |||
|  | 
 | |||
|  | Этот оператор используется в предложении WHERE или в предложении GROUP BY HAVING. | |||
|  | 
 | |||
|  | Выбираются строки, значения которых больше минимального значения и меньше максимального значения. | |||
|  | 
 | |||
|  | Важно помнить, что значения, введенные в команду, **исключаются** из результата. Мы получаем только то, что между ними. | |||
|  | 
 | |||
|  | Вот синтаксис для использования функции в разделе WHERE: | |||
|  | 
 | |||
|  | ```sql | |||
|  | select field1, testField  | |||
|  |  from table1  | |||
|  |  where testField between min and max  | |||
|  | ``` | |||
|  | 
 | |||
|  | Вот пример использования таблицы учеников и предложения WHERE: | |||
|  | 
 | |||
|  | ```sql | |||
|  | -- no WHERE clause  | |||
|  |  select studentID, FullName, studentID  | |||
|  |  from student;  | |||
|  |   | |||
|  |  -- WHERE clause with between  | |||
|  |  select studentID, FullName, studentID  | |||
|  |  from student  | |||
|  |  where studentID between 2 and 7;  | |||
|  | ``` | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | Вот пример, использующий таблицу фондов кампаний и предложение о наличии. Это вернет строки, где сумма пожертвований для кандидата составляет от 3 до 18 миллионов долларов США в зависимости от предложения HAVING в разделе GROUP BY. Подробнее об агрегировании в этом руководстве. | |||
|  | 
 | |||
|  | ```sql | |||
|  | select Candidate, Office_Sought, Election_Year, format(sum(Total_$),2)  | |||
|  |  from combined_party_data  | |||
|  |  where Election_Year = 2016  | |||
|  |  group by Candidate, Office_Sought, Election_Year  | |||
|  |  having sum(Total_$) between 3000000 and 18000000  | |||
|  |  order by sum(Total_$) desc;  | |||
|  | ``` | |||
|  | 
 | |||
|  |  |