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. Show
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, …. 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ómNhó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
Lưu ý:
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
Truy vấn dữ liệu trong sql – Truy vấn lựa chọn một số cột
Ví dụ truy vấn lựa chọn tất cả các cột của bảng EMP SELECT * FROM EMP Truy vấn dữ liệu trong sql – Mệnh đề WHERE
Mộ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
Ví dụ hiển thị thông tin nhân viên có lương bằng 800 SELECT EMPNO, ENAME, JOB, SAL, DEPTNO FROM EMP WHERE SAL = 800 Truy vấn dữ liệu trong sql – Toán tử LIKECho phép so sánh một chuỗi với chuỗi khác (có chứa các ký tự đại diện) sử dụng toán tử LIKE. Các ký tự đại diện (Wildcard):
Ví dụ sử dụng ký tự _ SELECT * FROM EMP WHERE ENAME LIKE 'A____' Ví dụ sử dụng ký tự % SELECT * FROM EMP WHERE JOB LIKE '%LE%' Truy vấn dữ liệu trong sql – Mệnh đề ORDER BYCho phép sắp xếp kết quả truy vấn theo cột và có thể sắp xếp kết quả theo chiều: Tăng dần (asc) hoặc giảm dần (desc). Bên dưới là cú pháp
Ví dụ dùng toán tử BETWEEN…AND và mệnh đề ORDER BY SELECT * FROM EMP WHERE SAL BETWEEN 3000 AND 8000 ORDER BY SAL DESC Truy vấn dữ liệu trong sql – Toán tử lôgícCác toán tử lôgíc gồm AND, OR và NOT. AND và OR được sử dụng để kết nối các điều kiện tìm kiếm chỉ ra trong mệnh đề WHERE. NOT phủ định kết quả tìm kiếm. Ví dụ sử dụng toán tử AND SELECT * FROM EMP WHERE SAL >= 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 EMP Ví 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 DEPTNO Truy 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) >= 900 Truy 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 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 http://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
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. 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ều 2.4. Thực hiện truy vấn hiển thị các thông tin:
SoTK,KieuTK,SoTienGD, 2.5. Liệt kê các thông tin về tất cả các lần giao dịch gồm: HoTenKH, DiaChi, SoTK, KieuTK, ThoiGianGD, SoTienGD, MoTaGD, SoDuTaiKhoan của khách hàng có số tài khoản là: 500000 Tiếp theo → ← Prev Chọn câu lệnh hàng đầu trong SQL hiển thị số lượng hồ sơ hoặc hàng hạn chế từ bảng cơ sở dữ liệu. Mệnh đề hàng đầu trong câu lệnh chỉ định có bao nhiêu hàng được trả về.SELECT TOP statement in SQL shows the limited number of records or rows from the database table. The TOP clause in the statement specifies how many rows are returned. Nó hiển thị số n trên cùng của các hàng từ các bảng trong đầu ra. Điều khoản này được sử dụng khi có hàng ngàn bản ghi được lưu trữ trong các bảng cơ sở dữ liệu. Chúng ta hãy lấy một ví dụ đơn giản: nếu bảng sinh viên có một lượng lớn dữ liệu về sinh viên, câu lệnh TOP chọn sẽ xác định số lượng dữ liệu của sinh viên sẽ được lấy từ bảng đã cho. If a Student table has a large amount of data about students, the select TOP statement determines how much student data will be retrieved from the given table. Lưu ý: Tất cả các hệ thống cơ sở dữ liệu không hỗ trợ từ khóa hàng đầu để chọn số lượng hồ sơ hạn chế. Oracle hỗ trợ từ khóa Rownum và MySQL hỗ trợ từ khóa giới hạn.Cú pháp của mệnh đề hàng đầu trong SQLTrong cú pháp, số biểu thị số lượng hàng được hiển thị từ đầu trong đầu ra. Cột_name biểu thị cột có bản ghi mà chúng tôi muốn hiển thị trong đầu ra. Chúng ta cũng có thể chỉ định điều kiện bằng cách sử dụng mệnh đề WHERE.the number denotes the number of rows shown from the top in the output. column_Name denotes the column whose record we want to show in the output. We can also specify the condition using the WHERE clause. Ví dụ về mệnh đề hàng đầu trong SQLBốn ví dụ SQL sau đây sẽ giúp bạn cách sử dụng số và phần trăm trong mệnh đề hàng đầu SQL trong truy vấn: Ví dụ 1: Trong ví dụ này, chúng tôi có một bảng gọi là ô tô có ba cột: In this example, we have a table called Cars with three columns:
Kia Sonet
Màu đỏ In this example, we have a table called Student with three columns:
Ví dụ 2: Trong ví dụ này, chúng tôi có một bảng gọi là sinh viên với ba cột:
Giả sử, bạn muốn hiển thị ba tên và màu xe đầu tiên từ bảng trên. Để làm điều này, bạn phải nhập truy vấn sau trong SQL: In this example, we have a table called Employee with four columns:
Ví dụ 2: Trong ví dụ này, chúng tôi có một bảng gọi là sinh viên với ba cột:
Màu đen In this example, we have a table called Bikes with three columns:
Kia Sonet
Màu đỏKia Sonet Kia seltosMàu đenCars with three columns:
Kia Sonet
Màu đỏKia Sonet Kia seltosMàu đenCars with three columns:
Truy vấn này hiển thị bảng sau trên màn hình:
Giả sử, bạn muốn hiển thị ba hồ sơ đầu tiên của xe bằng cách sử dụng từ khóa Rownum trong Oracle. Để làm điều này, bạn phải nhập truy vấn sau trong cơ sở dữ liệu Oracle:SQL SELECT FIRST Truy vấn này hiển thị bảng sau trên màn hình: Làm cách nào để tìm thấy 5 bản ghi hàng đầu trong SQL?Chọn câu lệnh hàng đầu trong SQL hiển thị số lượng hồ sơ hoặc hàng hạn chế từ bảng cơ sở dữ liệu. Mệnh đề hàng đầu trong câu lệnh chỉ định có bao nhiêu hàng được trả về. Nó hiển thị số n trên cùng của các hàng từ các bảng trong đầu ra.
Làm cách nào để tìm thấy Top 5 trong MySQL?SQL Chọn mệnh đề hàng đầu.. SQL Server / MS Access Cú pháp. Chọn số trên cùng | phần trăm cột_name (S) từ TABLE_NAME ;. Cú pháp MySQL. Chọn cột_name (S) từ Table_Name. Số giới hạn ;. Thí dụ. Chọn * từ những người. Giới hạn 5 ;. Cú pháp Oracle. Chọn cột_name (S) từ Table_Name. Nơi rownum Thí dụ.Chọn * từ những người .. Làm thế nào tôi có thể nhận được 5 mức lương top trong SQL?Làm thế nào để bạn tìm thấy 5 mức lương hàng đầu trong SQL ?.. Chọn tối đa (tiền lương) từ nhân viên ;. Chọn Max (Slary), DEPT_ID từ nhóm nhân viên của Dept_id ;. Chọn mức lương riêng biệt từ đơn đặt hàng của nhân viên theo mức lương Desc Giới hạn 5 ;. Chọn mức lương riêng biệt, Dept_id từ đơn đặt hàng của nhân viên theo Lương Desc Giới hạn 5 ;. Làm cách nào để chọn 4 hàng trên cùng trong MySQL?Dưới đây là cú pháp để chọn N Hàng trên cùng trong MySQL.Trong câu lệnh trên, chúng tôi liệt kê cột Cột1, cột2, mà bạn muốn chọn trong truy vấn của mình.Ngoài ra, bạn cần chỉ định giới hạn n sau tên bảng, trong đó n là số lượng hàng bạn muốn chọn.Truy vấn trên sẽ chọn các bản ghi N TOP trong bảng của bạn.specify LIMIT n after the table name, where n is the number of rows you want to select. The above query will select top n records in your table. |