* Correct language about exclusivity of BETWEEN clause SQL BETWEEN clause is inclusive both in the SQL standard as well as in MySQL. * fix(guide): remove misleading sentence
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: SQL Between Operator
 | 
						|
---
 | 
						|
## SQL Between Operator
 | 
						|
 | 
						|
The BETWEEN Operator is useful because of the SQL Query Optimizer. Although BETWEEN is functionally the same as:
 | 
						|
x <= element <= y, the SQL Query Optimizer will recognize this command faster, and has optimized code for running it.
 | 
						|
 | 
						|
This operator is used in a WHERE clause or in a GROUP BY HAVING clause.
 | 
						|
 | 
						|
Rows are selected that have a value greater than or equal to the minimum value and less than or equal to the maximum value.  
 | 
						|
 | 
						|
It's important to keep in mind that the values entered in the command are **included** in the result.
 | 
						|
 | 
						|
Here is the syntax for using the function in a WHERE Clause:
 | 
						|
 | 
						|
```sql
 | 
						|
select field1, testField
 | 
						|
from table1
 | 
						|
where testField between min and max
 | 
						|
```
 | 
						|
 | 
						|
Here is an example using the student table and the WHERE clause:
 | 
						|
 
 | 
						|
```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;
 | 
						|
```
 | 
						|
 | 
						|

 | 
						|
 | 
						|
Here is an example using the campaign funds table and the having clause.
 | 
						|
This will return rows where the sum of the donations for a candidate are between $3 Million and $18 Million based on the HAVING clause in the GROUP BY part of the statement.  More on aggregation in that guide.
 | 
						|
 | 
						|
 
 | 
						|
```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; 
 | 
						|
```
 | 
						|
 | 
						|

 |