SQL server 2000 các câu lệnh truy vấn dữ liệu lệnh SELECT FROM phần 1

39 678 0
SQL server 2000   các câu lệnh truy vấn dữ liệu lệnh SELECT FROM phần 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

-1- SQL Server 2000 : Các câu lệnh truy vấn liệu - Lệnh SELECT FROM – Phần Lập trình Transaction-SQL chủ yếu bạn sử dụng câu lệnh truy vấn kết hợp với cấu trúc điều khiển thích hợp biến khai báo để thực hành động thích hợp cho việc cập nhật liệu vào bên sở liệu Các lệnh truy vấn thường dùng thêm dịng liệu vào bảng, xóa dịng liệu có bảng, thay đổi giá trị cột liệu bên bảng, chọn lựa dòng liệu từ bảng cần thiết Tuy nhiên cú pháp đầy đủ lệnh SELECT phức tạp khó nhớ hướng dẫn bạn riêng rẽ theo thành phần khác nhằm giúp bạn dễ hiểu, dễ nhớ 1/- Lệnh SELECT FROM Ý nghĩa hoạt động câu lệnh SELECT FROM dùng phép bạn chọn lựa liệu cần thiết từ nhiều bảng có quan hệ bên sở liệu Câu lệnh thường dùng nhiều bên Transaction-SQL Tuy nhiên giống cú pháp lệnh CREATE TABLE, bạn sử dụng lúc đồng thời đầy đủ mệnh đề lệnh SELECT FROM 1.1/- Lệnh SELECT FROM đơn giản : Với cú pháp SELECT FROM bên cho phép bạn chọn liệu cột có bên bảng Với cú pháp tên cột phải định rõ ràng Cú pháp : Trong : • Dang sách cột : tên cột có bên bảng mà bạn cần lấy liệu • Tên bảng : tên bảng cần hiển thị liệu Ví dụ : -2Để hiển thị thơng tin vật tư bảng VATTU gồm cột : mã vật tư, tên vật tư Bạn thực câu lệnh sau : Kết truy vấn trả : 1.2/- Mệnh đề xếp liệu : Với cú pháp SELECT FROM bên kết hợp mệnh đề ORDER BY cho phép bạn lấy liệu cột bên bảng, sau xếp lại liệu theo thứ tự định tăng giảm Cú pháp : Trong : • Tên cột xếp : tên cột xếp liệu Thứ tự ưu tiên xếp cột liệu từ trái sang phải mặc định theo thứ tự tăng dần • Từ khóa DESC : dùng thay đổi thứ tự xếp giảm dần Mặc định thứ tự xếp tăng dần Ví dụ : -3Để hiển thị thông tin vật tư bảng VATTU gồm cột : mã vật tư, tên vật tư, phần trăm có xếp liệu theo cột tỷ lệ phần trăm tăng dần Bạn thực câu lệnh SELECT FROM sau : Kết truy vấn trả : 1.3/- Mệnh đề chọn dòng liệu : Với cú pháp SELECT FROM bên kết hợp mệnh đề WHERE cho phép bạn lọc dịng liệu bên bảng phải thỏa điều kiện đưa mệnh đề WHERE Cú pháp : Trong : • Từ khóa DISTINCT : dùng để định truy vấn chọn dịng liệu nhất, khơng trùng lắp liệu -4• Từ khóa TOP : dùng để định truy vấn chọn xác dịng liệu Nếu có thêm từ khóa PERCENT kèm theo truy vấn chọn phần trăm mẫu tin đầu tiên, lúc số mà bạn định phải nằm phạm vi từ đến 100 Thông thường sử dụng từ khóa TOP bạn kết hợp mệnh đề ORDER BY để xếp lại liệu theo thứ tự • Điều kiện lọc : điều kiện định việc lọc mẫu tin bên bảng Thông thường biểu thức luận lý Ví dụ : Để hiển thị tồn thông tin vật tư bảng VATTU cho chọn vật tư có đơn vị tính "Cái" Bạn thực câu lệnh SELECT FROM sau : Ký hiệu * ví dụ đại diện cho tất cột có bên bảng Kết truy vấn trả : Ví dụ : Giống ví dụ bạn muốn chọn vật tư có tỷ lệ phần trăm cao Bạn thực câu lệnh SELECT FROM có kết hợp mệnh đề TOP sau : Kết truy vấn trả : -5- Đối với người sử dụng ngôn ngữ SQL cũ trước đây, mệnh đề WHERE cịn giúp họ liên kết liệu nhiều bảng có quan hệ truy vấn lấy liệu từ nhiều bảng khác Cú pháp : Trong : • Mệnh đề liên kết : thông thường dùng để định cột có quan hệ chung hai bảng tham chiếu truy vấn, có dạng sau : • Tên_bảng1.Tên_cột = Tên_bảng2.Tên_cột Ví dụ : Để hiển thị thơng tin đơn đặt hàng bảng DONDH kèm theo cột họ tên nhà cung cấp tương ứng bảng NHACC xếp liệu hiển thị theo thứ tự mã nhà cung cấp tăng dần Bạn thực lệnh SELECT FROM sau : Kết truy vấn trả : -6- Trong ví dụ hai bảng DONDH NHACC có chung cột quan hệ MANHACC sử dụng mệnh đề WHERE Do cột MANHACC nằm hai bảng DONDH NHACC bạn cần phải định rõ ràng lấy MANHACC bảng NHACC cách ghi NCC.MANHACC sau mệnh đề SELECT SQL Server 2000 : Các câu lệnh truy vấn liệu – Phần Với cú pháp SELECT FROM bên kết hợp mệnh đề GROUP BY cho phép bạn nhóm liệu dịng bên bảng phép sử dụng hàm thống kê kèm theo để tính tốn liệu có tính chất thống kê tổng hợp Thơng thường, sau nhóm liệu, bạn nên xếp lại liệu để hiển thị theo thứ tự Do bạn sử dụng mệnh đề ORDER BY sau mệnh đề GROUP BY 1.4/- Mệnh đề nhóm liệu : Cú pháp : Trong : -7• Hàm thống kê : tên hàm thống kê tham số tương ứng dùng để tính tổng (SUM), tính giá trị thấp (MIN), tính giá trị cao (MAX), đếm mẫu tin (COUNT), tính giá trị trung bình (AVG) liệu bên bảng • Bí danh : tiêu đề cột tính tốn Các tiêu đề có hiệu lực lúc hiển thị liệu câu lệnh truy vấn mà không làm ảnh hưởng đến cấu trúc bên bảng • Danh sách cột nhóm liệu : danh sách tên cột nhóm liệu để tính tốn Ví dụ : Để thống kê tổng số đơn đặt hàng mà công ty đặt hàng theo nhà cung cấp xếp liệu hiển thị theo thứ tự tổng số đơn đặt hàng tăng dần Bạn thực câu lệnh SELECT FROM sau : Kết truy vấn trả : 1.5/- Mệnh đề lọc liệu sau nhóm : Với cú pháp SELECT FROM bên kết hợp mệnh đề HAVING cho phép bạn lọc lại liệu sau nhóm liệu dòng bên bảng Khác với mệnh đề WHERE dùng để lọc dòng liệu có bên bảng, mệnh đề HAVING phép sử dụng kèm theo mệnh đề GROUP BY dùng để lọc lại liệu sau nhóm Điều có nghĩa mệnh đề HAVING dùng kèm với mệnh đề GROUP BY Cú pháp : -8- Trong : • Điều kiện lọc nhóm : điều kiện dùng để lọc lại liệu sau nhóm liệu Thơng thường biểu thức luận lý Ví dụ : Theo ví dụ bạn cần lọc nhà cung cấp có mã bắt đầu chữ "C" tổng số đơn đặt hàng lớn sau tính tốn liệu theo nhóm Bạn thực câu lệnh SELECT FROM sau : Kết truy vấn trả : Trong ví dụ bạn thấy việc lọc liệu chia hai mệnh đề khác Thứ mệnh đề WHERE MANHACC LIKE "C%" dùng để lọc mẫu tin bảng DONDH cho mã nhà cung cấp phải bắt đầu chữ "C", thứ hai mệnh đề HAVING COUNT(*)>1 dùng để lọc lại nhà cung cấp có tổng số đơn đặt hàng lớn sau nhóm để tính tổng số đơn đặt hàng theo nhà cung cấp 1.6/- Mệnh đề liên kết liệu hai bảng : Với cú pháp SELECT FROM bên kết hợp mệnh đề JOIN cho phép bạn liên kết hai bảng có quan hệ với để lấy liệu chung Điểm quan trọng bảng -9này phải có cột quan hệ chung va thứ tự quan hệ bạn định bảng làm ảnh hưởng đến kết truy vấn Cú pháp : Trong : • Từ khóa INNER JOIN : dùng để định việc so sánh giá trị cột bảng tương đương (dữ liệu có hai bảng) Hệ thống trả mẫu tin thỏa điều kiện quan hệ hai bảng • Từ khóa LEFT RIGHT FULL : dùng để định việc so sánh giá trị cột bảng ưu tiên cho mối quan hệ bên nhánh trái, phải hai bên Việc thay đổi thứ tự ưu tiên làm ảnh hưởng đến kết truy vấn • Từ khóa OUTER : dùng kết hợp cho quan hệ ưu tiên liệu Tuy nhiên bạn phép bỏ sử dụng loại quan hệ ưu tiên LEFT RIGHT FULL • Điều kiện quan hệ : biểu thức so sánh bằng, tên cột quan hệ hai bảng gần giống biểu thức sau mệnh đề WHERE dùng để liên kết hai bảng Ví dụ : Để hiển thị thông tin đơn đặt hàng bảng DONDH kèm theo cột họ tên nhà cung cấp tương ứng bảng NHACC xếp liệu theo cột mã nhà cung cấp tăng dần Bạn thực câu lệnh SELECT FROM sau : Kết truy vấn trả : - 10 - Lưu ý : Trong truy vấn lấy liệu từ nhiều bảng có quan hệ, bạn phải bắt buộc sử dụng định dạng : tên_bảng.tên_cột cho cột trùng tên bảng Theo ví dụ cột MANHACC xuất hai bảng DONDH NHACC bạn phải ghi : NCC.MANHACC DH.MANHACC Ngoài bạn sử dụng khái niệm bí danh cho bảng nhằm để làm ngắn gọn câu lệnh tham chiếu đến tên bảng Theo ví dụ bảng DONDH có bí danh DH, bảng NHACC có bí danh NCC Các bí danh bạn đặt tên tùy thích, nhiên bạn nên đặt ngắn gọn, gợi nhớ không phép trùng bên câu lệnh truy vấn Ví dụ : Giống ví dụ yêu cầu hiển thị tất nhà cung cấp có bảng NHACC Để làm điều này, bạn thấy thứ tự quan hệ phải ưu tiên liệu bên bảng NHACC Bạn thực câu lệnh SELECT FROM sau : Kết truy vấn trả : - 25 Do câu lệnh truy vấn thời điểm mà Để đảm bảo bạn ln có danh sách đơn đặt hàng gần nhất, bạn kết hợp hai câu truy vấn thực sau : Nhận xét thấy câu lệnh truy vấn sử dụng hàm tính tốn thống kê MAX nên kết luôn trả giá trị đơn Ví dụ : Muốn biết tổng số lượng đặt hàng vật tư Bạn thực câu truy vấn sau : Kết truy vấn trả : Với câu lệnh truy vấn bên trả tổng cộng số lượng đặt hàng tất vật tư có bảng CTDONDH Bạn kết hợp hai câu truy vấn đề biết tỉ lệ phần trăm số lượng đặt hàng vật tư tổng cộng số lượng đặt hàng toàn vật tư - 26 - Kết truy vấn trả : 2/- Truy vấn trả danh sách giá trị : Là truy vấn mà kết trả danh sách giá trị hay cịn gọi tập hợp phần tử Thông thường truy vấn dạng lấy liệu nhiều bảng khác thực việc so sánh mệnh đề WHERE truy vấn cha Toán tử IN sử dụng để so sánh truy vấn dạng dùng định việc so sánh phần tử có thuộc tập hợp phần tử hay khơng Ví dụ : Để biết nhà cung cấp mà công ty đặt hàng tháng 01/2002 Bạn thực câu truy vấn sau : Kết truy vấn trả : - 27 - Tuy nhiên thông tin mà bạn muốn hiển thị đầy đủ họ tên nhà cung cấp mã nhà cung cấp Do bạn sử dụng truy vấn sau : Đâu đảm bảo tháng 01/2002 công ty đặt hàng cho hai nhà cung cấp C01 C03 Do để ln ln có danh sách họ tên nhà cung cấp mà công ty đặt hàng tháng 01/2002, bạn thực truy vấn sau : Kết truy vấn trả : Bạn sử dụng từ khóa EXISTS mệnh đề JOIN thực việc so sánh dòng liệu truy vấn trả danh sách giá trị Từ khóa EXISTS dùng để kiểm tra tính tồn liệu, sau EXISTS câu lệnh SELECT mà kết trả tập hợp trống có chứa nhiều phần tử Hai câu lệnh truy vấn bên có kết trả câu lệnh truy vấn ví dụ bên - 28 - Hoặc Nếu muốn sử dụng tốn tử so sánh bình thường (=, >,

Ngày đăng: 03/12/2015, 07:12

Từ khóa liên quan

Mục lục

  • 1/- Lệnh SELECT FROM

    • 1.1/- Lệnh SELECT FROM đơn giản :

    • 1.2/- Mệnh đề sắp xếp dữ liệu :

    • 1.3/- Mệnh đề chọn các dòng dữ liệu :

    • 1.4/- Mệnh đề nhóm dữ liệu :

    • 1.5/- Mệnh đề lọc dữ liệu sau khi đã nhóm :

    • 1.6/- Mệnh đề liên kết dữ liệu trong hai bảng :

    • 1.7/- Mệnh đề liên kết dữ liệu nhiều bảng :

    • 1.8/- Mệnh đề nối dữ liệu từ hai truy vấn :

    • 1.9/- Mệnh đề chép dữ liệu ra bảng mới :

    • 1.10/- Mệnh đề thống kê dữ liệu :

    • 1/- Truy vấn con trả về một giá trị đơn :

    • 2/- Truy vấn con trả về danh sách các giá trị :

Tài liệu cùng người dùng

Tài liệu liên quan