Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

SQL giữa toán tử

Toán tử SQL giữa là một toán tử logic trong Ngôn ngữ truy vấn có cấu trúc. Toán tử Giữa được sử dụng để truy xuất dữ liệu trong phạm vi được chỉ định trong điều kiện trong truy vấn.

SELECT giữa các toán tử được sử dụng để truy xuất dữ liệu:văn bản, số hoặc ngày.

Giữa có nghĩa là trong hai giá trị, vì vậy giữa các toán tử bao gồm hai giá trị:giá trị bắt đầu và giá trị kết thúc.

Chúng ta có thể sử dụng giữa toán tử với câu lệnh Select trong mệnh đề where

Chúng ta cũng có thể sử dụng giữa toán tử với câu lệnh Xóa và câu lệnh cập nhật.

Trong câu lệnh Xóa, chúng tôi sử dụng toán tử giữa để xóa các giá trị giữa hai giá trị hoặc được chỉ định trong phạm vi và với câu lệnh Cập nhật để sửa đổi giá trị.

Cú pháp của toán tử GIỮA trong SQL

SELECT COLUMNNAME1, COLUMNAME2 FROM TABLENAME WHERE COLUMNNAME BETWEEN VAL_1 AND VAL_2

Ở đây, val_1 là giá trị bắt đầu và val_2 là giá trị kết thúc của nó

Hãy hiểu toán tử GIỮA trong SQL với các ví dụ.

GIỮA NGƯỜI VẬN HÀNH VỚI BÁO CÁO CHỌN:-

Câu lệnh SELECT được sử dụng để truy xuất dữ liệu từ bảng SQL. Chúng tôi đã sử dụng toán tử BETWEEN với câu lệnh SELECT để tìm nạp các bản ghi giữa hai giá trị từ bảng SQL.

Hãy xem xét các bảng sau cùng với các bản ghi đã cho.

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID TUỔI DOJ
1001 Vaibhav Sharma 65000 PUNE ORACLE 1 23 2021-09-20
1002 Nikhil Vani 60000 NOIDA ORACLE 1 21 2021-09-23
1003 Vaibhavi Mishra 50000 JAIPUR FMW 2 22 2021-09-30
2001 Ruchika Jain 55500 ĐIỀU CHỈNH ORACLE 1 22 2021-09-30
2002 Thực tế Sharma 65500 PUNE FMW 2 23 2021-09-20
2003 Bhavesh Jain 50000 MUMBAI KIỂM TRA 4 21 2021-09-23
3001 Deepam Jauhari 55500 PUNE JAVA 3 21 2021-09-23
3002 ANUJA DÂY 50500 JAIPUR FMW 2 22 2021-09-30
3003 Pranoti Shende 58500 MUMBAI JAVA 3 23 2021-09-20
4001 RAJESH MỤC TIÊU 60500 MUMBAI KIỂM TRA 4 23 2021-09-20

Ví dụ 1: Viết truy vấn để hiển thị các bản ghi từ bảng nhân viên có mức lương của nhân viên từ 48500 đến 60000.

SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 48500 AND 60000;

Trong báo cáo trên, chúng tôi đã tìm nạp tất cả các chi tiết từ bảng nhân viên có mức lương của nhân viên nằm trong khoảng 48500 đến 60000.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID TUỔI DOJ
1002 Nikhil Vani 60000 NOIDA ORACLE 1 21 2021-09-23
1003 Vaibhavi Mishra 50000 JAIPUR FMW 2 22 2021-09-30
2001 Ruchika Jain 55500 ĐIỀU CHỈNH ORACLE 1 22 2021-09-30
2003 Bhavesh Jain 50000 MUMBAI KIỂM TRA 4 21 2021-09-23
3001 Deepam Jauhari 55500 PUNE JAVA 3 21 2021-09-23
3002 ANUJA DÂY 50500 JAIPUR FMW 2 22 2021-09-30
3003 Pranoti Shende 58500 MUMBAI JAVA 3 23 2021-09-20

Ví dụ 2: Viết truy vấn để hiển thị id nhân viên, tên, họ, lương và thành phố từ bảng nhân viên có thành phố nhân viên nằm giữa Mumbai và Pune.

SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN 'MUMBAI' AND 'PUNE';

Trong tuyên bố trên, chúng tôi đã tìm nạp id nhân viên, tên nhân viên, thành phố của nhân viên và mức lương từ bảng nhân viên của những nhân viên có tiêu chuẩn thành phố giữa Mumbai và Pune.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ
1001 Vaibhav Sharma 65000 PUNE
1002 Nikhil Vani 60000 NOIDA
2002 Thực tế Sharma 65500 PUNE
2003 Bhavesh Jain 50000 MUMBAI
3001 Deepam Jauhari 55500 PUNE
3003 Pranoti Shende 58500 MUMBAI
4001 RAJESH MỤC TIÊU 60500 MUMBAI

Ví dụ 3: Viết truy vấn để hiển thị id nhân viên, họ, tên, tiền lương và id bộ phận và người quản lý từ bảng nhân viên có bộ phận nhân viên nằm giữa Java và Oracle hoặc mức lương từ 45000 đến 55000.

SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, DEPARTMENT, MANAGERID FROM EMPLOYEE WHERE DEPARTMENT BETWEEN 'JAVA' AND 'ORACLE' OR SALARY BETWEEN 45000 AND 55000;

Chúng tôi đã sử dụng nhiều toán tử GIỮA và toán tử HOẶC trong câu lệnh trên. Chúng tôi đã tìm nạp id nhân viên, tên, họ, tiền lương, bộ phận và id người quản lý từ bảng nhân viên. Toán tử BETWEEN đầu tiên được sử dụng để tìm nạp các chi tiết ở trên của những nhân viên có tên bộ phận nằm giữa Java và Oracle. Sau toán tử GIỮA đầu tiên, nó sẽ chuyển sang một toán tử GIỮA khác, được sử dụng để tìm nạp các chi tiết ở trên của những nhân viên có mức lương từ 45000 đến 55000. Câu lệnh trên sẽ hiển thị cả hai toán tử GIỮA các bản ghi được tìm nạp vì chúng tôi đã sử dụng toán tử HOẶC trong tuyên bố.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG KHOA MANAGERID
1001 Vaibhav Sharma 65000 ORACLE 1
1002 Nikhil Vani 60000 ORACLE 1
1003 Vaibhavi Mishra 50000 FMW 2
2001 Ruchika Jain 55500 ORACLE 1
2003 Bhavesh Jain 50000 KIỂM TRA 4
3001 Deepam Jauhari 55500 JAVA 3
3002 ANUJA DÂY 50500 FMW 2
3003 Pranoti Shende 58500 JAVA 3

Ví dụ 4: Viết truy vấn để hiển thị id nhân viên, tên, họ, lương, thành phố và id người quản lý từ bảng nhân viên có thành phố nhân viên nằm giữa Chandigarh và Pune và mức lương từ 45000 đến 60000.

SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;

Chúng tôi đã sử dụng nhiều toán tử GIỮA và toán tử HOẶC trong câu lệnh trên. Chúng tôi đã tìm nạp id nhân viên, tên, họ, lương, thành phố và id người quản lý từ bảng nhân viên. Toán tử BETWEEN đầu tiên được sử dụng để lấy thông tin chi tiết ở trên của những nhân viên có tên thành phố nằm giữa Chandigarh và Pune. Sau toán tử GIỮA đầu tiên, nó sẽ chuyển sang một toán tử GIỮA khác, được sử dụng để lấy thông tin chi tiết ở trên của những nhân viên có mức lương từ 45000 đến 60000. Câu lệnh trên sẽ chỉ hiển thị những hồ sơ nhân viên có tên thành phố giữa Chandigarh và Pune và Lương từ 45000 đến 60000 vì chúng tôi đã sử dụng toán tử AND.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ MANAGERID
1002 Nikhil Vani 60000 NOIDA 1
1003 Vaibhavi Mishra 50000 JAIPUR 2
2001 Ruchika Jain 55500 ĐIỀU CHỈNH 1
2003 Bhavesh Jain 50000 MUMBAI 4
3001 Deepam Jauhari 55500 PUNE 3
3002 ANUJA DÂY 50500 JAIPUR 2
3003 Pranoti Shende 58500 MUMBAI 3

Ví dụ 5: Viết truy vấn để hiển thị Id nhân viên, Tên, Họ, Mức lương và thành phố từ bảng nhân viên trong đó mức lương của nhân viên từ 50000 đến 65000 theo thứ tự theo thành phố.

SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;

Trong câu lệnh trên, chúng tôi đã tìm nạp id nhân viên, họ, tên, lương và thành phố từ bảng nhân viên của những nhân viên có mức lương từ 50000 đến 65000. Chúng tôi hiển thị kết quả theo thứ tự tăng dần theo cột thành phố.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ
2001 Ruchika Jain 55500 ĐIỀU CHỈNH
1003 Vaibhavi Mishra 50000 JAIPUR
3002 ANUJA DÂY 50500 JAIPUR
2003 Bhavesh Jain 50000 MUMBAI
3003 Pranoti Shende 58500 MUMBAI
4001 RAJESH MỤC TIÊU 60500 MUMBAI
1002 Nikhil Vani 60000 NOIDA
1001 Vaibhav Sharma 65000 PUNE
3001 Deepam Jauhari 55500 PUNE

Ví dụ 6: Viết một truy vấn để hiển thị id nhân viên, họ, tên, lương và thành phố nơi mức lương của nhân viên từ 45000 đến 65000 và nơi chỉ có thành phố của nhân viên là “Mumbai”, “Pune”.

SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;

Trong câu lệnh trên, chúng tôi đã tìm nạp id nhân viên, họ, tên, lương và thành phố từ bảng nhân viên của những nhân viên có mức lương nhân viên từ 45000 đến 65000 và thành phố chỉ bao gồm Mumbai và Pune.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME THÀNH PHỐ TIỀN LƯƠNG
1001 Vaibhav Sharma PUNE 65000
2003 Bhavesh Jain MUMBAI 50000
3001 Deepam Jauhari PUNE 55500
3003 Pranoti Shende MUMBAI 58500
4001 RAJESH MỤC TIÊU MUMBAI 60500

GIỮA NGƯỜI VẬN HÀNH VỚI BÁO CÁO CẬP NHẬT

Câu lệnh UPDATE sửa đổi dữ liệu có trong bảng SQL. Chúng tôi sẽ sử dụng toán tử GIỮA với câu lệnh UPDATE để sửa đổi các bản ghi thỏa mãn phạm vi được chỉ định trong câu lệnh.

Cú pháp của toán tử GIỮA với câu lệnh CẬP NHẬT:

UPDATE TABLE_NAME SET COLUMN_NAME = VALUES WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;

Hãy xem xét các bảng sau cùng với các bản ghi đã cho.

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID TUỔI DOJ
1001 Vaibhav Sharma 65000 PUNE ORACLE 1 23 2021-09-20
1002 Nikhil Vani 60000 NOIDA ORACLE 1 21 2021-09-23
1003 Vaibhavi Mishra 50000 JAIPUR FMW 2 22 2021-09-30
2001 Ruchika Jain 55500 ĐIỀU CHỈNH ORACLE 1 22 2021-09-30
2002 Thực tế Sharma 65500 PUNE FMW 2 23 2021-09-20
2003 Bhavesh Jain 50000 MUMBAI KIỂM TRA 4 21 2021-09-23
3001 Deepam Jauhari 55500 PUNE JAVA 3 21 2021-09-23
3002 ANUJA DÂY 50500 JAIPUR FMW 2 22 2021-09-30
3003 Pranoti Shende 58500 MUMBAI JAVA 3 23 2021-09-20
4001 RAJESH MỤC TIÊU 60500 MUMBAI KIỂM TRA 4 23 2021-09-20

Ví dụ 1: Viết truy vấn để sửa đổi 1,2 lần lương của nhân viên có thành phố của nhân viên nằm giữa Mumbai và Noida.

UPDATE EMPLOYEE SET SALARY = SALARY * 1.2 WHERE CITY BETWEEN ‘MUMBAI’ AND ‘NOIDA’;

Trong tuyên bố trên, chúng tôi tăng 1,2 lương của nhân viên trong số những người có thành phố nằm giữa Mumbai và Pune.

Để kiểm tra chéo mức lương của nhân viên có được cập nhật thành công hay không, chúng ta sẽ sử dụng câu lệnh SELECT:

SELECT EMPLOYEEID, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN ‘MUMBAI’ AND ’NOIDA’;
EMPLOYEEID TIỀN LƯƠNG THÀNH PHỐ
1002 86400 NOIDA
2003 86400 MUMBAI
3003 84240 MUMBAI
4001 87210 MUMBAI

Ví dụ 2: Viết truy vấn để cập nhật thành phố nhân viên có ngày gia nhập từ 2021-09-20 đến 2021-09-22 và mức lương từ 78500 đến 85000.

UPDATE EMPLOYEE SET CITY = 'DELHI' WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;

Chúng tôi đã sử dụng nhiều toán tử GIỮA trong câu lệnh trong câu lệnh trên. Chúng tôi đang thiết lập thành phố của nhân viên là Delhi của những nhân viên có ngày gia nhập từ '2021-09-20' VÀ '2021-09-22' và một thành phố khác sẽ kiểm tra mức lương của ai trong khoảng 78500 đến 85000. Nếu cả hai nhà điều hành GIỮA thỏa mãn điều kiện chỉ dành cho nhân viên, sau đó tên thành phố của nhân viên sẽ sửa đổi.

Để kiểm tra chéo mức lương của nhân viên có được cập nhật thành công hay không, chúng ta sẽ sử dụng câu lệnh SELECT:

SELECT EMPLOYEEID, CITY, SALARY, DOJ FROM EMPLOYEE WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;
EMPLOYEEID THÀNH PHỐ TIỀN LƯƠNG DOJ
2002 DELHI 786400 2021-09-20
3003 DELHI 84240 2021-09-20

GIỮA NGƯỜI VẬN HÀNH VỚI BÁO CÁO XÓA

Câu lệnh DELETE được sử dụng để xóa các bản ghi khỏi bảng SQL. Chúng tôi sử dụng toán tử GIỮA với câu lệnh DELETE để xóa các bản ghi thỏa mãn phạm vi được chỉ định trong câu lệnh.

Cú pháp của toán tử BETWEEN với câu lệnh DELETE:

DELETE FROM TABLE_NAME WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;

Hãy xem xét các bảng sau cùng với các bản ghi đã cho.

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID TUỔI DOJ
1001 Vaibhav Sharma 78000 PUNE ORACLE 1 23 2021-09-20
1002 Nikhil Vani 86400 NOIDA ORACLE 1 21 2021-09-23
1003 Vaibhavi Mishra 50000 JAIPUR FMW 2 22 2021-09-30
2001 Ruchika Jain 55500 ĐIỀU CHỈNH ORACLE 1 22 2021-09-30
2002 Thực tế Sharma 78600 DELHI FMW 2 23 2021-09-20
2003 Bhavesh Jain 86400 MUMBAI KIỂM TRA 4 21 2021-09-23
3001 Deepam Jauhari 66600 PUNE JAVA 3 21 2021-09-23
3002 ANUJA DÂY 60600 JAIPUR FMW 2 22 2021-09-30
3003 Pranoti Shende 84240 DELHI JAVA 3 23 2021-09-20
4001 RAJESH MỤC TIÊU 87120 MUMBAI KIỂM TRA 4 23 2021-09-20

Ví dụ 1: Viết truy vấn để xóa chi tiết nhân viên khỏi bảng nhân viên của những nhân viên có mức lương từ 45000 đến 65000.

DELETE FROM EMPLOYEE WHERE SALARY BETWEEN 45000 AND 65000;

Trong câu lệnh trên, chúng tôi sẽ xóa thông tin chi tiết về nhân viên của những nhân viên có mức lương từ 45000 đến 65000.

Để kiểm tra chéo xem chi tiết nhân viên có bị xóa thành công hay không, chúng tôi sẽ sử dụng câu lệnh SELECT:

SELECT * FROM EMPLOYEE;
EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID TUỔI DOJ
1001 Vaibhav Sharma 78000 PUNE ORACLE 1 23 2021-09-20
1002 Nikhil Vani 86400 NOIDA ORACLE 1 21 2021-09-23
2002 Thực tế Sharma 78600 DELHI FMW 2 23 2021-09-20
2003 Bhavesh Jain 86400 MUMBAI KIỂM TRA 4 21 2021-09-23
3001 Deepam Jauhari 66600 PUNE JAVA 3 21 2021-09-23
3003 Pranoti Shende 84240 DELHI JAVA 3 23 2021-09-20
4001 RAJESH MỤC TIÊU 87120 MUMBAI KIỂM TRA 4 23 2021-09-20

Ví dụ 2: Viết truy vấn để xóa thông tin chi tiết về nhân viên khỏi bảng nhân viên của những nhân viên có thành phố nằm giữa Delhi và Pune.

DELETE FROM EMPLOYEE WHERE CITY BETWEEN ‘DELHI’ AND ‘PUNE’;

Trong tuyên bố trên, chúng tôi sẽ xóa thông tin chi tiết về nhân viên của những nhân viên có thành phố nằm giữa Delhi và Pune.

Để kiểm tra chéo xem chi tiết nhân viên có bị xóa thành công hay không, chúng tôi sẽ sử dụng câu lệnh SELECT:

SELECT * FROM EMPLOYEE;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. XEM TRƯỚC:Tiện ích mở rộng SentryOne Plan Explorer dành cho Azure Data Studio

  2. Con trỏ tham chiếu mạnh mẽ với loại dữ liệu bản ghi dựa trên bảng

  3. 4 Phương pháp chuyển đổi dữ liệu SQL Out-of-the-Box và các trường hợp sử dụng

  4. Cách tạo bảng với khóa ngoại trong SQL

  5. Bảng tính so với Cơ sở dữ liệu:Đã đến lúc phải chuyển đổi? Phần 1