Công ty cổ phần đầu t phát triển công nghệ - FPT Giáo trình SQL và PL/SQL Đào tạo cơ bản: SQL và PL/SQL Trang 44 10 Tổng kết về lệnh select Cấu trúc lệnh SELECT [DISTINCT/ALL] [expr [c_ias]] FROM [table/view/snapshot] [t_alias] [WHERE condition] [START WITH condition CONNECT BY condition] [GROUP BY expr] [HAVING condition] [UNION/UNION ALL/INTERSET/MINUS select command] [ORDER BY expr/position [DESC/ASC]] [FOR UPDATE OF [column]] [NOTWAIT] Các thành phần trong câu lệnh SELECT DISTINCT Chỉ chọn 1 cho các row giống nhau trong kết quả ALL Kết xuất cả các row giống nhau * Chọn tất cả các column trong table, view . table.*, view.*, snapshot.* Chọn tất cả các cột trong table, view hay snapshot đợc chị định expr Chọn các biểu thức c_alias Tên cột trong kết quả kết xuất. table, view, snapshot là Tên table, view hay snapshot subquery Câu hỏi select con t_alias Tên cho các table WHERE Chọn các row thỏa điều kiện trong mệnh đề WHERE START WITH,CONNECT BY Chọn các dòng trong thứ tự thừa kế GROUP BY Nhóm các dòng có expr giống nhau HAVING Chọn những nhóm thỏa điều kiện mệnh đề HAVING UNION, UNION ALL, INTERSET, MINUS Cho kết quả kết hợp các toán tử tập hợp ORDER BY Xếp thứ t các row theo expr hay position (trong danh sách select) ASC, DESC Trật tự xuôi (mặc nhiên) hay ngợc FOR UPDATE Khóa những row đợc chọn, cho biết bạn có ý định xóa hay cập nhật các row này NOTWAIT Trả quyền điều khiển nếu khi muốn lock row đã bị lock bởi user khác. 11 Tạotable 11.1 Lệnh tạo bảng Để tạo một bảng mới dùng lệnh CREATE TABLE, Cú pháp nh sau: CREATE TABLE tablename (column [datatype][DEFAULT expr][column_constraint] ) [table_constraint]) [PCTFREE integer][PCTUSED integer] [INITRANS integer][MAXTRANS integer] [TABLESPACE tablespace] [STORAGE storage_clause] [AS subquery] Trong đó: tablename : Tên table cần tạo column : Tên column trong table [datatype] : Kiểu dữ liệu của column [DEFAULT expr] : Giá trị mặc định của column trong trờng hợp NULL là expr [column_constraint] : Ràng buộc của bản thân column [table_constraint] : ràng buộc của toàn bảng [PCTFREE integer] : % trống [PCTUSED integer] : % sử dụng [INITRANS integer] : Số bản ghi khởi tạo [MAXTRANS integer] : Số bản ghi lớn nhất . bị lock bởi user khác. 11 Tạo table 11.1 Lệnh tạo bảng Để tạo một bảng mới dùng lệnh CREATE TABLE, Cú pháp nh sau: CREATE TABLE tablename (column [datatype][DEFAULT. [STORAGE storage_clause] [AS subquery] Trong đó: tablename : Tên table cần tạo column : Tên column trong table [datatype] : Kiểu dữ liệu của column [DEFAULT