Truy vấn dữ liệu trong sql là thao tác trích xuất thông tin được lưu trữ trong các table. Thông tin được truy xuất thông qua các cột và thông tin cần trích xuất có thể thuộc một hoặc nhiều bảng.
Thao tác này được sử dụng rất nhiều trong các hệ thống phần mềm hoặc website, chẳng hạn khi các bạn đăng nhập vào facebook thì hệ thống sẽ thực hiện truy vấn dữ liệu để kiểm tra tích hợp lệ của tài khoản đăng nhập, ….
Truy vấn dữ liệu trong sql – Ngôn ngữ SQL
SQL viết tắt của Structured Query Language, là ngôn ngữ truy vấn có cấu trúc. SQL cho phép chúng ta tạo cơ sở dữ liệu, thao tác trên dữ liệu như lưu trữ dữ liệu, sửa dữ liệu hoặc xóa dữ liệu hoặc truy vấn dữ liệu.
Đa số các hệ quản trị cơ sở dữ liệu hiện nay sử dụng SQL [MS SQL Server – T- SQL, Microsoft Access, Oracle – PL/SQL, DB2, MySQL…]
Truy vấn dữ liệu trong sql – SQL có thể chia thành 4 nhóm
Nhóm truy vấn dữ liệu [DQL]: gồm các lệnh truy vấn lựa chọn [Select] để lấy thông tin nhưng không làm thay đổi dữ liệu trong các bảng
Nhóm định nghĩa dữ liệu [DDL]: Gồm các lệnh tạo, thay đổi các bảng dữ liệu [Create, Drop, Alter, …]
Nhóm thao tác dữ liệu [DML]: Gồm các lệnh làm thay đổi dữ liệu lưu trong các bảng [Insert, Delete, Update,…]
Nhóm điều khiển dữ liệu [DCL]: Gồm các lệnh quản lý quyền truy nhập vào dữ liệu và các bảng [Grant, Revoke, …]
Ngôn ngữ truy vấn dữ liệu [DQL-Data Query Language]
Bao gồm các lệnh cho phép truy vấn dữ liệu mà không làm thay đổi dữ liệu hoặc các đối tượng trong CSDL. Đó là các truy vấn bắt đầu bằng từ khóa SELECT. Trả về một bộ các thuộc tính hoặc một tập hợp các bộ thuộc tính.
Truy vấn dữ liệu trong sql – Cú pháp câu lệnh SELECT
SELECT [DISTINCT] Column[s] FROM TableName, Views [WHERE Conditions] [GROUP BY Row[s]] [HAVING] [ORDER BY Column[s] [asc|desc]]Lưu ý:
- Các mệnh đề trong cặp dấu [] không bắt buộc
- DISTINCT có thể là: Distinct: trả về các bản ghi không trùng lặp nhau hoặc Top: trả về n [hay %] bản ghi tìm thấy từ trên xuống
- Mệnh đề WHERE cho phép truy vấn lựa chọn theo hàng
- Mệnh đề GROUP BY cho phép nhóm dữ liệu theo hàng
- Mệnh đề HAVING cho phép truy vấn lựa chọn theo nhóm
- Mệnh đề ORDER BY cho phép sắp xếp dữ liệu theo cột
Truy vấn dữ liệu trong sql – Truy vấn lựa chọn tất cả các hàng và cột
SELECT * FROM TableNameTruy vấn dữ liệu trong sql – Truy vấn lựa chọn một số cột
SELECT Column1, Column2 … FROM TableNameVí dụ truy vấn lựa chọn tất cả các cột của bảng EMP
SELECT * FROM EMPTruy vấn dữ liệu trong sql – Mệnh đề WHERE
SELECT [DISTINCT] Column[s] FROM TableName WHERE ConditionsMột số toán tử [Operator] sử dụng trong biểu thức Conditions: Toán tử so sánh, toán tử lôgíc và so sánh xâu dùng toán tử LIKE
Các toán tử so sánh
= | So sánh bằng | |||||||
hoặc != | Khác | |||||||
> | Lớn hơn | |||||||
= | Lớn hơn hoặc bằng | |||||||
= 3000 AND JOB = 'ANALYST' Truy vấn dữ liệu trong sql – Mệnh đề GROUP BYMệnh đề GROUP BY cho phép nhóm các hàng dữ liệu có giá trị giống nhau thành một nhóm. Các tính toán [thường sử dụng các hàm truy vấn nhóm] sẽ được tính trên mỗi nhóm. Một số hàm nhóm như:
Ví dụ 1: Tìm mức lương lớn nhất, nhỏ nhất, lương trung bình và tổng lương trong bảng EMP SELECT MAX[SAL], MIN[SAL], AVG[SAL], SUM[SAL] FROM EMPVí dụ 2: Hiển thị lương lớn nhất và nhỏ nhất trong mỗi phòng ban SELECT DEPTNO, MAX[SAL], MIN[SAL] FROM EMP GROUP BY DEPTNOTruy vấn dữ liệu trong sql – Mệnh đề HAVINGMệnh đề HAVING được sử dụng làm điều kiện nhóm. Vì vậy muốn sử dụng HAVING, chúng ta phải kết hợp với GROUP BY. Ví dụ: Hiển thị lương nhỏ nhất trong mỗi phòng ban với điều kiện lương nhỏ nhất từ 900 trở lên SELECT DEPTNO, MAX[SAL], MIN[SAL] FROM EMP GROUP BY DEPTNO HAVING MIN[SAL] >= 900Truy vấn dữ liệu trong sql – Truy vấn dữ liệu từ nhiều bảngYêu cầu: Hãy hiển thị thông tin gồm mã sinh viên, tên sinh viên, tên lơp, mã môn học và điểm thi của những sinh viên có điểm thi >= 5 Truy vấn dữ liệu trong sql – Mệnh đề SELECT trên nhiều bảngKhi truy vấn trên nhiều bảng, phải kết nối các bảng. Có hai kiểu kết nối:
Ví dụ về kết nối trong sử dụng mệnh đề WHERE Ví dụ về kết nối ngoài So sánh kết quả hai kiểu kết nối Kết nối trong chỉ trả về kết quả khi tìm được DEPARTMENT_ID tương ứng của nhân viên trong bảng DEPARTMENT Kết nối ngoài trả về kết quả ngay cả khi không tìm được DEPARTMENT_ID của nhân viên trong bảng DEPARTMENT Truy vấn dữ liệu trong sql – Bài tập mẫuThực hiện trên Oracle Database Express Edition, tải bản cài đặt Xem video hướng dẫn cài đặt Oracle Express
Xem video hướng dẫn sử dụng Oracle Express // Link sử dụng để thiết lập trong clip //127.0.0.1:8080/apex
Yêu cầu thực hiện Cho cơ sở dữ liệu QuanLyNhanSu như sau Câu 1: Tạo cơ sở dữ liệu trên Câu 2: Truy vấn dữ liệu trong sql
Truy vấn dữ liệu trong sql – Tổng kết bài họcNgôn ngữ truy vấn SQL bao gồm các lệnh có cấu trúc cho phép Tạo CSDL và Thêm, Sửa, hoặc Xóa dữ liệu. Có 4 nhóm lệnh SQL chính, trong đó nhóm lệnh truy vấn dữ liệu [Select] cho phép trích ra phần dữ liệu cần lấy mà không làm thay đổi dữ liệu. Truy vấn dữ liệu trong sql – Bài tập thực hànhTruy vấn cơ sở dữ liệu quản lý tài khoản ngân hàng đã thiết kế ở bài thực hành số 2 Câu 1: Tạo các truy vấn dữ liệu trong sql sử dụng trên một bảng 1.1. Tạo truy vấn hiển thị thông tin tất cả các tài khoản có kiểu là “Checking” 1.2. Tạo truy vấn hiển thị các thông tin gồm [MaKH, SoTK, KieuTK, NgayMoTK] của các tài khoản có kiểu “Tài khoản cá nhân trong nước” và sắp xếp kết quả hiển thị sao cho 1.3. Tạo truy vấn hiển thị Tên, địa chỉ, thành phố các khách hàng sống tại thành phố “Hà 1.4. Tạo truy vấn hiển thị thông tin các khách hàng đã mở tài khoản trước ngày Câu 2: Tạo các truy vấn dữ liệu trong sql sử dụng trên nhiều bảng 2.1. Thực hiện truy vấn hiển thị thông tin khách hàng, kiểu tài khoản, ngày mở. 2.2. Thực hiện truy vấn hiển thị tất cả các thông tin như truy vấn trên và thỏa mãn điều 2.3. Thực hiện truy vấn hiển thị tất cả các thông tin như truy vấn trên và thỏa mãn điềukiện ngày mở sau ngày 01/07/2011 và kiểu tài khoản là “Tài khoản tổ chức trong nước”. Thông tin hiển thị được sắp xếp theo thứ tự Alphabet của tên khách hàng. Video liên quanChủ Đề |