intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Chương 3: SQL Structured Query Language (Phần 1)

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:40

78
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Chương 3: SQL Structured Query Language (Phần 1) nêu lên ngôn ngữ thao tác dữ liệu - DML; lệnh Select; câu truy vấn đơn giản; lệnh Select - mệnh đề Where; lệnh Select – sử dụng các hàm thống kê; truy vấn lồng - Subqueries; lệnh Select – truy vấn từ nhiều bảng.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Chương 3: SQL Structured Query Language (Phần 1)

  1. Chương 3 SQL Structured Query Language Phần 1
  2. Giới thiệu  SQL là ngôn ngữ CSDL Quan hệ chuẩn  Được sử dụng trong các DBMS thương mại  Được phát triển từ IBM (vào đầu 70s, Sequel)  Phiên bản chuẩn được ANSI công bố đầu tiên vào 1986  SQL là ngôn ngữ khai báo cấp cao  Người dùng chỉ ra kết quả cần đạt là gì  Tối ưu hóa và quyết định thi hành ntn là do DBMS
  3. Giới thiệu  SQL bao gồm các phần :  DDL (Data Definition Language)  Định nghĩa Database  Định nghĩa cấu trúc Bảng  Định nghĩa ràng buộc toàn vẹn  Định nghĩa khung nhìn  DML (Data Manipulation Language)  Truy vấn dữ liệu  Các thao tác thêm, xóa , sửa dữ liệu  Kiểm soát các transaction  DCL (Data Control Language)  Phân quyền người dùng
  4. Giới thiệu  Trongmột số DBMS, SQL được mở rộng để tăng khả năng lập trình thủ tục  T-SQL trong MS SQL Server cho phép  dùng cấu trúc điều khiển, biến cục bộ, cursor  Tạo các procedure, trigger
  5. Ngôn ngữ thao tác dữ liệu - DML  DML bao gồm các lệnh : SELECT, INSERT, UPDATE, DELETE  Lệnh Select là lệnh thường dùng nhất  Dùng để truy vấn dữ liệu (query data)  Lấy và hiển thị dữ liệu từ một hay nhiều bảng
  6. Lệnh Select  Cú pháp : SELECT [ DISTINCT | ALL] [ * | têncột [AS tên mới] [,…] FROM tênbảng [alias] [,…] [WHERE điềukiện ] [GROUP BY danhsáchcột ] [HAVING điềukiện ] [ORDER BY danhsáchcột ] (*) Các ví dụ trong chương này sử dụng CSDL Quản lý Bán hàng , xem slide cuối
  7. Câu truy vấn đơn giản  Câu lệnh Select… From… Vd: Hiển thị Họ, tên , phái của các nhân viên Select Honv, Tennv, Phai From Nhanvien Tương đương với phép chiếu trong ĐSQH Honv, Tennv, Phai (NHANVIEN)  Hiển thị tất cả các cột , bằng sử dụng * Vd: Hiển thị danh sách các nhân viên Select * From Nhanvien
  8. Câu truy vấn đơn giản  Sử dụng Distinct để loại bỏ các bộ trùng nhau Vd: Danh sách nơi sinh của các nhân viên Select DISTINCT noisinh From Nhanvien
  9. Câu truy vấn đơn giản  Hiển thị các cột tính toán (Calculated fields)  Sử dụng hàm trong cột tính toán  Các cột có thể đặt tên mới – alias Vd1: hiển thị chi tiết hóa đơn gồm mahd, masp, soluong, dongia và thành tiền Select mahd, masp, soluong,dongia, soluong*dongia AS thanhtien From chitiethoadon Vd2: hiển thị họ tên, và năm sinh của nhân viên Select Honv+Tennv as HT , year(ngaysinh) as NS From Nhanvien
  10. Lệnh Select - Mệnh đề Where  Sử dụng để chọn một số bộ  Chứa các biểu thức logic, xác định các bộ sẽ được chọn :  Các cột nằm trong bảng có trong mệnh đề From  Các toán tử so sánh, toán tử logic And, Or, Not, tóan tử Between  Các toán tử khác : Like, in, …
  11. Lệnh Select - Mệnh đề Where  Vd1: Hiển thị các mặt hàng có đơn giá >100 Select Tensp , dongia From Sanpham Where dongia > 100  Vd2: Hiển thị các mặt hàng có đơn giá >100 hoặc đơn giá 100 or dongia < 50  Vd3: Hiển thị các mặt hàng có đơn giá trong khoảng từ 50 đến 100 Select Tensp , dongia From Sanpham Where dongia between 50 and 100
  12. Lệnh Select - Mệnh đề Where  Sử dụng toán tử Like/ Not Like trong biểu thức so sánh với chuỗi  Like khác với toán tử =  Sử dụng các ký tự thay thế %, _ Vd4: Hiển thị danh sách nhân viên có họ “Nguyễn” Select * From Nhanvien Where Honv like “Nguyễn%”  Vd5: hiển thị danh sách các nhân viên có địa chỉ ở đường Nguyễn Trãi
  13. Lệnh Select - Mệnh đề Where  Sử dụng IS NULL / IS NOT NULL để so sánh với giá trị NULL Vd: Hiển thị danh sách các Nhân viên chưa biết số điện thoại Select * From Nhanvien Where dienthoai IS NULL Vd: mệnh đề Where có thể chứa biểu thức cột select Honv, Tennv From Nhanvien where left(Honv,1) like ‘N'
  14. Lệnh Select - Mệnh đề Order By  Sắp xếp các bộ trong quan hệ kết quả theo giá trị của một / một số cột  Sử dụng ASC hay DESC để chỉ ra chiều sắp xếp (mặc định là ASC)  Vd Select * From Nhanvien Order by Ngaysinh ASC, Tennv DESC
  15. Lệnh Select – sử dụng các hàm thống kê  Còn gọi là Aggregate Functions  Hàm Count, Sum, Avg, Min, Max Vd: hiển thị tổng trị giá tất cả các hóa đơn Select sum(soluong*dongia) From Chitiethoadon Vd: Hiển thị đơn giá lớn nhất, nhỏ nhất và trung bình của các mặt hàng Select Max(dongia) , Min(dongia), AVG(dongia) From Sanpham
  16. Lệnh Select – sử dụng các hàm thống kê  Hàm count(tencot), count(*) và count(distinct) Vd1: cho biết số lượng nhân viên Select Count(Noisinh) From Nhanvien Select Count(Distinct Noisinh) From Nhanvien Select Count(*) From Nhanvien Vd2: Hiển thị tổng số hóa đơn , tổng trị giá các hóa đơn ?
  17. Lệnh Select – mệnh đề Group by  Gom nhóm các dòng dữ liệu và tạo ra một dòng chung cho mỗi nhóm  Hiển thị các tổng phụ (subtotal) Vd1: Hiển thị tổng trị giá của tất cả các hóa đơn Select sum(soluong*dongia) From Chitiethoadon Vd2: Hiển thị tổng trị giá của từng hóa đơn Select Mahd, maSp, sum(soluong*dongia) As TongTg From Chitiethoadon Group By Mahd
  18. Lệnh Select – mệnh đề Group by MAÕ  MAÕ  SOÁ  ÑÔN  MAÕ  TONGTGÙ HÑ SP LÖÔÏNG GIAÙ HÑ 10148 3 20.00 2.20 10148 4 30.00 16.50 10148 803 10148 9 20.00 13.20 10150 2 22.00 44.00 10150 1133 10150 4 10.00 16.50 10156 68.75 10156 8 20.00 68.75 Select Mahd, sum(soluong*dongia) From Chitiethoadon Group By Mahd
  19. Lệnh Select – mệnh đề Group by  Chú ý : các cột xuất hiện trong mệnh đề Select phải có trong mệnh đề Group By, ngoại trừ các cột được tạo từ hàm thống kê.  Vd3: Select Manv, LoaiHD, count(Mahd) From Hoadon Group by Manv, LoaiHD
  20. Lệnh Select – mệnh đề Having  Đi sau mệnh đề Group by, được sử dụng để lọc các nhóm  Giống như mệnh đề Where : Chứa các biểu thức điều kiện Select Mahd, sum(soluong*dongia) From Chitiethoadon Group By Mahd Having sum(soluong*dongia) > 1000
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
9=>0