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; 
 | 
						||
```
 | 
						||
 | 
						||
 |