Báo cáo được xem như một phần không thể thiếu được trong các ứng dụng, với một lượng lớn báo cá thì việc cài đặt, quản trị sẽ khó khăn và tốn kém. Vào năm 2004 MS SQL Server 2000 đã giới thiệu SSRS như một công cụ trong việc xây dựng, quản trị và phát triển báo cáo cho doanh nghiệp
Câu Câu l l ệ ệ nh nh : : CREATE TABLE CREATE TABLE SINH_VIEN SINH_VIEN ( ( ma_sv ma_sv NUMBER(5) PRIMARY KEY, NUMBER(5) PRIMARY KEY, ho_ten ho_ten VARCHAR(25) NOT NULL, VARCHAR(25) NOT NULL, ng_sinh ng_sinh DATE, DATE, gioi_tinh gioi_tinh VARCHAR (3) DEFAULT VARCHAR (3) DEFAULT ' Nam', ' Nam', ma_lop ma_lop CHAR (3) , CHAR (3) , diem_tb diem_tb DECIMAL (4,2), DECIMAL (4,2), FOREIGN KEY FOREIGN KEY ma_lop ma_lop REFERENCES REFERENCES LOP LOP ); ); Ho Ho ặ ặ c c : : CREATE TABLE CREATE TABLE SINH_VIEN SINH_VIEN ( ( ma_sv ma_sv NUMBER(5) , NUMBER(5) , ho_ten ho_ten VARCHAR(25) NOT NULL, VARCHAR(25) NOT NULL, ng_sinh ng_sinh DATE, DATE, gioi_tinh gioi_tinh VARCHAR (3) DEFAULT ' Nam', VARCHAR (3) DEFAULT ' Nam', ma_lop ma_lop CHAR (3) , CHAR (3) , diem_tb diem_tb DECIMAL (4,2), DECIMAL (4,2), PRIMARY KEY ( PRIMARY KEY ( ma_sv ma_sv ), ), FOREIGN KEY FOREIGN KEY ma_lop ma_lop REFERENCES REFERENCES LOP LOP ); ); 3. B 3. B ổ ổ sung sung - - xo xo á á m m ộ ộ t t c c ộ ộ t t trong trong b b ả ả ng ng a. B a. B ổ ổ sung sung m m ộ ộ t t c c ộ ộ t t : : ALTER TABLE < ALTER TABLE < tên tên b b ả ả ng ng > > ADD < ADD < tên tên c c ộ ộ t t > < > < ki ki ể ể u u d d ữ ữ li li ệ ệ u u > < > < k k í í ch ch thư thư ớ ớ c c >; >; VD VD : : Thêm Thêm c c ộ ộ t t s s ố ố đi đi ệ ệ n n tho tho ạ ạ i i v v à à o o b b ả ả ng ng SINH_VIEN SINH_VIEN ở ở trên trên . . ALTER TABLE ALTER TABLE SINH_VIEN SINH_VIEN ADD ADD dien_thoai dien_thoai NUMBER(10); NUMBER(10); a.Xo a.Xo á á m m ộ ộ t t c c ộ ộ t t : : ALTER TABLE < ALTER TABLE < tên tên b b ả ả ng ng > DROP < > DROP < tên tên c c ộ ộ t t > ; > ; VD VD : : Xo Xo á á c c ộ ộ t t đi đi ể ể m m TB TB trong trong b b ả ả ng ng SINH_VIEN SINH_VIEN ở ở trên trên . . ALTER TABLE ALTER TABLE SINH_VIEN SINH_VIEN DROP DROP diem_tb diem_tb ; ; 4. 4. Xo Xo á á m m ộ ộ t t b b ả ả ng ng kh kh ỏ ỏ i i CSDL CSDL DROP TABLE < DROP TABLE < tên tên b b ả ả ng ng >; >; VD VD : : Xo Xo á á b b ả ả ng ng SINH_VIEN SINH_VIEN trong trong CSDL CSDL DROP TABLE SINH_VIEN; DROP TABLE SINH_VIEN; Khi Khi đ đ ó ó to to à à n n b b ộ ộ thông thông tin tin v v ề ề b b ả ả ng ng SINH_VIEN( SINH_VIEN( g g ồ ồ m m c c ả ả lư lư ợ ợ c c đ đ ồ ồ v v à à c c á á c c b b ả ả n n ghi ghi ) ) đ đ ề ề u u b b ị ị xo xo á á , , kh kh á á c c v v ớ ớ i i l l ệ ệ nh nh DELETE FROM SINH_VIEN DELETE FROM SINH_VIEN ; ; ch ch ỉ ỉ xo xo á á c c á á c c b b ả ả n n ghi ghi trong trong b b ả ả ng ng , , v v ẫ ẫ n n gi gi ữ ữ l l ạ ạ i i c c ấ ấ u u tr tr ú ú c c ( ( lư lư ợ ợ c c đ đ ồ ồ ) ) c c ủ ủ a a b b ả ả ng ng III. III. C C á á c c câu câu l l ệ ệ nh nh truy truy v v ấ ấ n n 1. 1. Truy Truy v v ấ ấ n n theo theo câu câu h h ỏ ỏ i i đơn đơn gi gi ả ả n n C C ấ ấ u u tr tr ú ú c c cơ cơ s s ở ở c c ủ ủ a a m m ộ ộ t t bi bi ể ể u u th th ứ ứ c c h h ỏ ỏ i i ( ( còn còn g g ọ ọ i i l l à à bi bi ể ể u u th th ứ ứ c c truy truy v v ấ ấ n n ) SQL ) SQL g g ồ ồ m m : : SELECT [ DISTINCT | ALL] { SELECT [ DISTINCT | ALL] { * | < * | < c c ộ ộ t t > > AS AS [< [< tên tên m m ớ ớ i i >], } >], } FROM FROM < < tên tên b b ả ả ng ng > [ < > [ < b b í í danh danh >], >], [WHERE [WHERE < < đi đi ề ề u u ki ki ệ ệ n n ch ch ọ ọ n n >] >] [GROUP BY [GROUP BY < < ds ds tên tên c c ộ ộ t t >] [ >] [ HAVING HAVING < < đi đi ề ề u u ki ki ệ ệ n n >] >] [ORDER BY [ORDER BY < < ds ds c c ộ ộ t t > ]; > ]; Trong Trong đ đ ó ó : : - - T T ừ ừ kho kho á á DISTINCT DISTINCT : : đ đ ể ể lo lo ạ ạ i i b b ỏ ỏ s s ự ự tr tr ù ù ng ng l l ặ ặ p p ( ( c c á á c c b b ộ ộ tr tr ù ù ng ng l l ặ ặ p p ch ch ỉ ỉ gi gi ữ ữ l l ạ ạ i i m m ộ ộ t t b b ộ ộ ) ) - - < < bi bi ể ể u u th th ứ ứ c c c c ộ ộ t t > > : : l l à à tên tên c c ủ ủ a a m m ộ ộ t t c c ộ ộ t t ho ho ặ ặ c c c c ủ ủ a a bi bi ể ể u u th th ứ ứ c c - - < < tên tên b b ả ả ng ng > > : : l l à à tên tên c c ủ ủ a a m m ộ ộ t t b b ả ả ng ng trong trong CSDL hay CSDL hay m m ộ ộ t t khung khung nh nh ì ì n n m m à à ta ta c c ó ó th th ể ể truy truy c c ậ ậ p p v v à à o o - - GROUP BY GROUP BY : : d d ù ù ng ng đ đ ể ể g g ộ ộ p p nh nh ó ó m m c c á á c c b b ộ ộ c c ù ù ng ng gi gi á á tr tr ị ị tương tương ứ ứ ng ng ở ở c c á á c c c c ộ ộ t t xu xu ấ ấ t t hi hi ệ ệ n n trong trong ds ds tên tên c c ộ ộ t t . . - - HAVING: HAVING: d d ù ù ng ng đ đ ể ể l l ọ ọ c c c c á á c c nh nh ó ó m m tho tho ả ả đi đi ề ề u u ki ki ệ ệ n n - - ORDER BY ORDER BY : : quy quy đ đ ị ị nh nh th th ứ ứ t t ự ự trong trong c c á á c c c c ộ ộ t t tr tr ả ả ra ra g g ồ ồ m m : : ASC ASC ( ( tăng tăng d d ầ ầ n n ) ) v v à à DESC DESC ( ( gi gi ả ả m m d d ầ ầ n n ). ). M M ặ ặ c c đ đ ị ị nh nh l l à à ASC ASC V V í í d d ụ ụ 1: 1: T T ì ì m m tên tên c c á á c c d d ự ự á á n n v v à à mã mã c c á á c c phòng phòng qu qu ả ả n n lý lý d d ự ự á á n n tương tương ứ ứ ng ng SELECT SELECT ten_da ten_da , ma_p , ma_p FROM FROM DU_AN; DU_AN; K K ế ế t t qu qu ả ả tra tra ra ra : : P1 P1 Gi Gi á á o o tr tr ì ì nh nh đi đi ệ ệ n n t t ử ử P3 P3 M M ạ ạ ng ng B B P2 P2 Ph Ph ầ ầ n n m m ề ề m m A A Ma_p Ma_p Ten_da Ten_da Ch Ch ú ú ý : ý : a . a . Mu Mu ố ố n n hi hi ể ể n n th th ị ị t t ấ ấ t t c c ả ả c c á á c c c c ộ ộ t t trong trong b b ả ả ng ng , , ta ta c c ó ó th th ể ể d d ù ù ng ng d d ấ ấ u u * * đ đ ể ể thay thay th th ế ế V V í í d d ụ ụ 2. 2. Cho Cho bi bi ế ế t t thông thông tin tin v v ề ề nhân nhân viên viên trong trong công công ty ty . . C1 : C1 : SELECT SELECT ma_nv ma_nv , ho_ten, , ho_ten, ng_sinh ng_sinh , , gioi_tinh gioi_tinh , , ma_p, ma_p, luong luong FROM FROM NHAN_VIEN; NHAN_VIEN; C2: C2: SELECT SELECT * * FROM FROM NHAN_VIEN ; NHAN_VIEN ; b. b. Trong Trong b b ả ả ng ng k k ế ế t t qu qu ả ả , , n n ế ế u u mu mu ố ố n n ta ta c c ó ó th th ể ể đ đ ặ ặ t t tên tên m m ớ ớ i i cho cho c c ộ ộ t t sau sau t t ừ ừ kho kho á á As As V V í í d d ụ ụ 3 : 3 : Cho Cho bi bi ế ế t t tên tên v v à à lương lương m m ớ ớ i i c c ủ ủ a a m m ỗ ỗ i i nhân nhân viên viên bi bi ế ế t t h h ọ ọ đư đư ợ ợ c c tăng tăng 10% . 10% . Câu Câu l l ệ ệ nh nh : : C1: C1: SELECT SELECT ho_ten, ho_ten, luong luong + + luong luong *0.1 *0.1 FROM FROM NHAN_VIEN; NHAN_VIEN; C2: C2: SELECT SELECT ho_ten, ho_ten, luong+luong luong+luong *0.1 *0.1 AS AS luong_moi luong_moi FROM FROM NHAN_VIEN; NHAN_VIEN; [...]... ); Mệnh đề trên tương đương với : SELECT HT FROM SV WHERE HL = ( SELECT MAX (HL) FROM SV ); IV CÁC MỆNH ĐỀ CẬP NHẬT DỮ LIỆU 1 Thêm một bộ : Dạng tổng quát : INSERT INTO Tên _ bảng ( ds_tên _cột) VALUES (các_ giá_trị ) [ câu hỏi con] Có thể bổ sung vào một tập các bản ghi là kết quả xử lý của một câu hỏi nào đó VD: Chèn vào bảng SVG các sinh viên giỏi trong bảng SV INSERT INTO SVG SELECT * FROM SV WHERE... kiện nào đó Dạng tổng quát: DELETE [tên_bảng] [FROM { Tên_bảng / Tên_ view}] [WHERE Biểu_ thức _điều _kiện] Ví dụ : Xoá những sinh viên có điểm HL kém (HL=8.0 ); d Tìm kiếm có xử lý xâu kí tự SQL dùng toán tử LIKE để so sánh xâu SQL sử dụng kí tự ' %' để thay thế cho một xâu con, dấu phân cách '_' để thay thế cho một kí tự VD: - A%B : xâu kí tự bất kì bắt dầu bằng chữ A và... dụ 6: Cho biết mã và tên các dự án mà địa điểm có chứa từ UBND: SELECT ma_da, ten_da FROM DU_AN WHERE dia_diem_da LIKE '%UBND%'; e SQL cho phép sử dụng các giá trị NULL để chỉ sự thiếu vắng thông tin về giá trị của một bộ tại một thuộc tính Với từ khoá IS NULL, SQL cho phép kiểm tra xem một giá trị có là NULL hay không ? Ví dụ 7: Cho biết tên và mã số dự án mà cột địa điểm có giá trị là NULL SELECT . FROM CHAM_CONG CHAM_CONG WHERE WHERE ma_da ma_da IN IN ('D1', 'D2', 'D8') ('D1', 'D2', 'D8') ORDER BY ORDER BY so_ gio so_ gio ASC,. c c á á c c nhân nhân viên viên thu thu ộ ộ c c phòng phòng c c ó ó mã mã phòng phòng l l à à P2 P2 v v à à c c ó ó lương lương >=2tr. >=2tr. SELECT SELECT ma_nv ma_nv , ho_ten, ma_p, , ho_ten, ma_p, luong luong FROM FROM NHAN_VIEN NHAN_VIEN WHERE WHERE ma_p= 'P2'. đ đ ể ể so so s s á á nh nh xâu xâu . . SQL SQL s s ử ử d d ụ ụ ng ng k k í í t t ự ự ' %' ' %' đ đ ể ể thay thay th th ế ế cho cho m m ộ ộ t t xâu xâu con, con, d d ấ ấ u u phân phân c c á á ch ch '_' '_' đ đ ể ể thay thay th th ế ế cho cho m m ộ ộ t t k k í í t t ự ự . . VD: VD: - - A%B A%B :