Tải bản đầy đủ (.doc) (11 trang)

Ngôn ngữ SQL.DOC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (115.53 KB, 11 trang )

1.1 Vài nét về lịch sử
SQL ra đời vào năm 1970 tại phòng thí nghiệm của IBM,san jose, California.
Là một ngôn ngư phi thủ tục – declarative, non procedural language.
Các câu lệnh mô tả yêu cầu cần làm gì - WHAT chứ không cần nêu từng bước tiến hành
làm như thế nào – HOW.
Thực chất không không chỉ có Query Language còn thực hiện nhiều chức năng khác
như bổ xung thêm dữ liệu, sửa đổi cập nhật thông tin, huỷ thông tin, huỷ thông tin, lien kết
lưu trữ thông tin.
1.2 Sử dụng SQL.
Ngôn ngữ SQL được dùng trong ứng dụng CSDL theo mô hình Client – Server. Các
chương trình khách gửi yêu cầu truy vấn thông tin dưới dạng các câu lệnh SQL. Chương
trình chủ dịch vụ - Server CSDL - sẽ thực hiện yêu cầu và gửi lại kết quả cho chương trình
khách.
Ba kiểu tương tác với ứng dụng.
- Modun: Các thủ tục làm sẵn thông qua các tham số, gọi và trả kết quả về.
- Nhúng trực tiếp: Các câu lệnh SQL trong chương trình.
- Gọi trực tiếp: Tương tác.
Nhúng là hình thức làm việc tĩnh – Static: câu lệnh được biên dịch ra, không thay đổi được
khi chạy.
Hiện nay Dynamic SQL: cho phép chuẩn bị câu lệnh SQL trong khi chạy. các thành phần
của câu lệnh SQL được ghép nối lại trong thời gian chạy cho phép mức linh hoạt rất linh
hoạt rất cao trong khai thác CSDL. Giống như chuyển từ Compiler sang Interpreter.
bộ kí tự của SQL.
- Các chữ cái thường a – z , chữ cái hoa A – Z.
- Các chư số 0 – 9
- Các kí tự khác: “ % & ‘ () * / + - , ; < >= ? _ và khoảng trống tên:
- Không phân biệt chư hoa chữ thường.
- Không quá 128 ký tự
- Không trùng với các từ khoá, từ dành riêng, tên có tách riêng .
- Bất kỳ sâu ký tự nào(không nhất thiết phải thuộc bộ kí tự của SQL, có trùng với từ
khoá) đặt trong cặp dấu ngoặc kép và không quá 128 kí tự, kể cả cặp dấu ngoặc


kép.
2. Câu vấn tin SQL.
Một câu lệnh SQL thường gọi là một Query. Như trên đã nêu, Query không chỉ đơn giản là
hỏ – truy vấn thông tin từ CSDL để phục vụ người dùng.
một SQL query có thể
- Tạo lập hay huỷ một bảng.
- Thêm, xoá, cập nhật một dòng, một trường.
- Tìm kiếm trong nhiều bảng có liên quan.
- Thay đổi chế độ an toàn
trước hết ta tập trung vào chức năng hay sử dụng nhất của một SQL query là truy vấn
thông tin.
Vi dụ:
Cán bộ(MãCB: Xâu kí tự,Họvàtên : Xâu kí tự, Giớitính :Boolean, Nămsinh: Số nguyên,
lương: Số thực:.)
Xemáy(MãXM: Xâu kí tự, Màuxe: Xâu kí tự, Màuxe : Xâu kí tự,Giátiên: số thực)
SửDụng(MãCB: Xâu kí tự, MãXM: Xâu kí tự, Ngàybắtđầu: Ngày tháng, Ngàykếtthúc:
Ngày Tháng).
2.1. Cú pháp chung – câu lệnh SELECT.
- Câu lệnh SQL không phân biệt chữ in hoa, viết thường (Nhưng kiểu dữ liệu Char =
sâu kí tự thì có phân biệt)
- Dấu cách có thể là các khoảng trắng, dấu table, dấu xuống dòng.
- Kết thúc câu lệnh có thể là: dấu chấm phẩy hoặc khoảng trắng tuỳ hệ thống.
Ví dụ:
SELECT Họvaten, Ngaysinh
FROM CanBo_1
WHERE Luong = 400
2.2Các thành phần cơ bản .
Các từ khoá + các biểu thức -> các điều khoản
các điều khoản tạo thành câu lệnh SQL
SELECT <danh sách tên cột> điều khoản Select

FROM <danh sách tên bảng> điều khoản From
WHERE <điều kiện tìm kiếm> điều khoản Where
+ Danh sách tên bảng
Các tên bảng cách nhau dấu phẩy. Một tên bảng có thể kèm tên biến bảng (biến
phạm vi) đại diện cho bảng đó. Tên biến bảng đặc biệt có ích khi hai bảng có trung tên cột.
+ Danh sách tên cột
Các tên cột cách nhau dấu phẩy
Thứ tự giống như đã liệt kê, có thể khác với thứ tự vố có trong bảng.
Kí tự đại diện * = tất cả các cột theo thứ tự vốn có.
+ Điều kiện tìm kiếm
Điều kiện tìm kiếm là một biểu thức logic. một biểu thức điều kiện được dung với
từ khoá Where để tạo thành điều khoản Where, ấn định tiêu chuẩn tìm kiếm thông tin xuất
ra. Chỉ những dữ liệu thoả điều kiện đã nêu mới được đưa vào kết quả truy vấn.
Biểu thức điều kiện trong điều khoản Where là liên kết bằng các phép toán logic
AND, OR, NOT có của các biểu thức so sánh dạng biểu thức op biểu thức
ở đây op là là một trong các phép toán <,<=,>,>=,=,<> còn biểu thức là biểu thức số học
hay xâu kí tự với các toán hạng là các tên cột trong các bảng hoặc giá trị hằng.
Có thể hình dung cách tính kết quả của câu lệnh Select như sau
1- Lấy tích đề các các bảng có trong điều khoản From.
2- Xoá những dòng trong quan hệ tích không thoả điều kiện.
3- Xoá những cột không có trong danh sách tên cột
4- Nếu có lựa chọn DISTINCT thì loại bỏ các dòng trùng nhau, chỉ giữ lại một.
2.3 Từ khóa DISTINCT/ALL
DISTINCT = chỉ lấy những dòng khác nhau
Nghĩa là nếu có nhiều dòng giống nhau chỉ lấy một đại diện.
ALL = tất cả các dòng, kể cả trùng nhau
Đây là mặc định, không cần gõ ALL
Cú pháp
Select DISTINCT <danh sách tên cột> …..
Select ALL <danh sách tên cột>…………..

Ví dụ:
SELECT DISTINCT Phongban
FROM CanBo_1
Vấn tin trên sẽ cho danh sách các phòng của cơ quan X
3.Biểu thức
Là một hợp các toán hạng và phép toán.
Các phép toán bao gồm phép toán số học, phép toán xâu kí tự, phép so sánh
Biểu thức có kết quả là một số, xâu kí tự hay giá trị logic.
Ví dụ:
Biểu thức số : (luong*1.05)
Biểu thức logic: (họvàtên Nguyễn văn A’,Lương <=500)
Biểu thức xâu: Họ và tên + điện thoại.
Các biểu thức được sử dụng trong câu lệnh SQL:
- Trong điều khoản Select để kết xuất thông tin trực tiếp: Trong danh sách tên cột có thể
dùng không chỉ các tên cột mà cả một biểu thức mà cả các toán hạng là các tên cột.
- Làm điều kiện tìm kiếm trong điều khoản WHERE, HAVING…
Biểu thức số học.
Toán tử số học: Cộng, nhân , trừ , chia, modulo(a%b hoặc mod(a,b)).
Các biểu thức số học, biểu thức xâu có thể sử dụng trong điều khoản Select để kết xuất
thông tin trực tiếp.
Ví dụ: Giả sử mọi người đều được phụ cấp thêm 5% lương. Có thể hiện thị mức thực lĩnh
như sau:
Select hovaten, luong *1.05
From canbo_1
ALIAS – Tên hiệu
Trong các ví dụ trên tên cột sẽ được hiện thị là lương*1.05 hoặc giá bán buôn + 0,15.
SELECT hovaten, luong*1.05 sothuclinh
FROM canbo_1
SELECT tenhang, giabanbuon+0,15 giabanle
FROM banggia

Các tên mới thực lĩnh, giá bán le gọi là ALIAS-ten hiệu, tên thay thế
Biểu thức xâu
Phép nối xâu.
Toán tử || hoặc +
Dung để nối các xâu lại tạo thành xâu lớn hơn.
Ví dụ:
SELECT HoDem || Ten Hovaten
FROM canbo
LIKE
Khi không biết thật chính xác một phần của xâu hoặc chỉ quan tâm đến mnột phần nào đó
của xâu có thể dùng LIKE với các ký tự đại diện %, _
Ký tự đại diện % thay cho một xâu con bất kỳ.
Ký tự đại diện _ thay cho một ký tự bất kỳ
Toán tử logic
AND, OR, NOT
Các phép toán logic có thể dùng để xây dựng các biểu thức điều kiện phức tạp hơn trong
điều khoản Where.
Ví dụ:
SELECT *
FROM employee
WHERE phongban= “ kinh doanh”
OR phongban= “hanhchinh” Or phongban=” taivu”
Toán tử tập hợp
BEWEEN để xác định một đoạn con trong vùng giá trị có thể của một cột.
IN để xác định một danh sách các giá trị có thể.
Vi dụ:
SELECT column_name_1,. ..column_name_n
FROM table_name_1, . . ,table_name_n
WHERE column_name IN(value_1,. . .,value_n)
Các hàm thao tác dữ liệu

Các câu lệnh SQL thông thường kết xuất dữ liệu lần lượt theo từng dòng của bảng.
Các hàm xử lý nhóm Aggegate function – Xử lý dữ liệu toàn bộ các dòng của bảng hoặc
một nhóm dòng thoả mãn điều kiện nào đó và cho ra chỉ một kết quả. Đôi khi cũng gọi là
hàm nhóm – GROUP FUNCTION.
Dưới đay sẽ giới thiệu các hàm đó.,
COUNT: Đếm số dòng thảo mãn điều khoản WHERE
Ví dụ: Đếm số nhân viên của phòng kinh doanh.
SELECT COUNT(*)
FROM canbo_1
WHERE phongban=”kinhdoanh”
ở đâu không có điều khoản WHERE thì sẽ đếm toàn bộ nhân viên.
SUM: Tính tổng một cột.
Cột phải là kiểu số
Bị lỗi nếu không phải kiểu số
Ví dụ:
SELECT SUM(luong)
FROM canbo_1.
AVG: Tính trung bình cộng của cột
Cột phải là kiểu số
Bị lỗi nếu không phải kiểu số
Ví du:
SELECT AVG(luong)
FROM canbo_1
MAX: Cho giá trị cực đại trong cột.
Có thể áp dụng cho một kiểu số và cả cột kiểu xâu tự.
Vi dụ:
SELECT MAX(luong)
FROM canbo_1
MIN: Cho giá trị cực tiểu trong cột.
Có thể áp dụng cho cột kiểu số và cả cột kiểu xâu ký tự.

Ví du:
SELECT MIN(hovaten).
FROM canbo_1
Hàm VARIANCE:
Cho bình phương của độ lệch tiêu chuẩn.
Chí áp dụng cho cột kiểu số
Ví dụ:
SELECT VARIANCE(luong).
FROM canbo_1
STDDEV: Độ lệch tiêu chuẩn – Standard Deviation
Chỉ áp dụng cho các cột kiểu số.
Các hàm thời gian
SYSDATE: Thời gian hệ thống.
Dùng để so sánh: tìm các công việc chưa bắt đầu, đã kết thúc. . .
ADD_MONTHS:
Dịch lùi lại cộng thêm một số tháng từ một ngày cho trước.
Ví dụ:
Giả sử có bảng dự án về quản lý dự án gồm các trường ngay bắt đầu ngày kết thúc. .
Nếu có sự cố làm dự án chậm mất hai tháng để hiện thị các công việc còn chưa kết thúc
được cần dùng hàm ADD_MONTH.
SELECT congviec,ngaybatdau,ngayketthuc, ADD_MONTH
(ngayketthúc,2)
FROM duan
MONTH_BEWEEN: đếm số tháng giữa hai mốc ngày.
Ví dụ:
SELECT congviec ngaybatdau, ngayketthúc,
MONTH_BEWEEN(ngaybatdau,ngayketthúc) thờigian
FROM duan
Các hàm số học.
ABS giá trị tuyệt đối

CELL : Số trần- số nguyên nhỏ nhất hay bằng đối số.
FLOOR: Số sàn - số nguyên bé nhất hay bằng đối số.
Và một số các hàm sử lý khác và các hàm xâu ký tự khác.
XỬ LÝ TẬP KẾT QUẢ.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×