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