Giáo trình lập trình SQL Server

Link tải luận văn miễn phí cho ae Kết Nối
Ngôn ngữ truy vấn có cấu trúc (SQL) là ngôn ngữ chuẩn hóa để định nghĩa và xử lý dữ liệu trong một cơ sở dữ liệu quan hệ. Tất cả các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) đều hiểu được SQL. SQL được đặc biệt tạo ra như một phần của lý thuyết quan hệ. Bạn cần một ngôn ngữ để trao đổi với cơ sở dữ liệu, để lấy ra dữ liệu, hay để sửa đổi dữ liệu. SQL là một ngôn ngữ không dẫn đường. Nói cách khác, với SQL, bạn không phải...
Lập trình SQL [Nâng cao] SQL ORDER BY Từ khóa ORDER BY dùng để sắp xếp lại những kết quả trả về theo kiểu alphabetical hay một giá trị nào đó . Bây giờ ta sẽ hiển thị ra 2 cột Company và OrderNumber được sắp xếp theo vần alphabetical : Mã: SELECT Company, OrderNumber FROM Orders ORDER BY Company Còn đây là ví dụ hiển thị sắp xếp trong alphabetical Order và Ordernumbers trong kiểu numerical. Mã: SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber Bạn muốn sắp xếp đảo ngược lại alphabetical thì ta sẽ thêm từ khóa DESC sau giá trị của ORDER BY : Mã: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC Và tương tự như vậy khi ta thêm sự sắp xếp kiểu numerical order , thêm từ khóa ASC : Mã: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
SQL ALTER TABLE Biểu thức ALTER TABLE dùng để thay đổi các giá trị trong tables. Mã: ALTER TABLE table_name ADD column_name datatype ALTER TABLE table_name DROP COLUMN column_name Lưu ý : Một vài hệ thống database không cho phép drop trực tiếp các cột trong table. (DROP COLUMN column_name) Thêm vào 1 cột trong table Persons : Mã: ALTER TABLE Person ADD City varchar(30) Và drop cột address : Mã: ALTER TABLE Person DROP COLUMN Address SQL Functions SQL có một số lượng lớn các hàm gắn liền với sự tính toán .
Cú pháp của Function : Mã: SELECT function(column) FROM table Ở đây chúng ta chỉ vài kiểu cơ bản trong các loại hàm của SQL. Đây là 2 dạng cơ bản : * (Aggregate functions) Tập hợp Functions * (Scalar functions) Định hướng functions Aggregate functions : Aggregate functions có tác dụng với nhiều giá trị nhưng chỉ trả về 1 giá trị . Lưu ý : Nếu sử dụng nhiều biểu thức trong một câu lệnh select thì câu lệnh SELECT đấy cần có mệnh đề GROUP BY Tập hợp Function trong MS Accesss : Function Description Mã: AVG(column) Trả về giá trị trung bình trong một cột COUNT(column) Trả về số lượng hàng (không có giá trị NULL) của một cột COUNT(*) Trả về số lượng các hàng được lựa chọn FIRST(column) Trả về giá trị của bản ghi đầu tiên trong một trường LAST(column) Trả về giá trị của bản ghi cuối trong một trường được chỉ định
MAX(column) Trả về giá trị lớn nhất của một cột MIN(column) Trả về giá trị nhỏ nhất của một cột STDEV(column) STDEVP(column) SUM(column) Trả về tất cả giá trị trong một cột VAR(column) VARP(column) Tập hợp Functions trong SQL Server (tương tự như của Access) Function Description Mã: AVG(column) Trả về giá trị trung bình trong một cột BINARY_CHECKSUM CHECKSUM CHECKSUM_AGG COUNT(column) Trả về số lượng hàng (không có giá trị NULL) của một cột COUNT(*) Trả về số lượng hàng được chọn COUNT(DISTINCT column) Trả về số lượng các kết quả riêng biệt FIRST(column) Trả về giá trị của bản ghi đầu tiên trong một trường được chỉ định (không hỗ trợ trong SQL Server 2000) LAST(column) Trả về giá trị của bản ghi cuối trong một trường được chỉ định (không hỗ trợ trong SQL Server 2000) MAX(column) Trả về giá trị lớn nhất của một cột MIN(column) Trả về giá trị nhỏ nhất của một cột STDEV(column) STDEVP(column) SUM(column) Trả về tất cả giá trị trong một cột VAR(column) VARP(column)
Scalar functions Scalar functions có tác dụng ngược lại đối với một số giá trị nhất định, và trả về thành phần một số giá trị trên những giá trị được đưa vào. Scalar Functions được dùng trong MS Access Function Description Mã: UCASE(c) Chuyển một trường sang chữ HOA LCASE(c) Chuyển một trường sang chữ thường MID(c,start[,end]) Lấy ra những kí tự trong trường text LEN(c) Trả về độ dài của một trường text INSTR(c,char) Trả về số vị trí của tên kí tự trong một trường text LEFT(c,number_of_char) Trả về phần bên trái của một trường text được yêu cầu RIGHT(c,number_of_char) Trả về phần bên phải của một trường text được yêu cầu ROUND(c,decimals) Làm tròn số trường thập phân MOD(x,y) Trả về phần còn lại của phép chia NOW() Trả về ngày tháng của hệ thống hiện thời FORMAT(c,format) Thay đổi hướng của trường hiển thị DATEDIFF(d,date1,date2) Sử dụng để thực thi việc tính toán ngày tháng Thất bại thì Làm lại Bộ sưu tập E-books tiếng Anh và tiếng Việt cho ITer (119 cuốn): Xem link download tại Blog Kết nối! 08-12-2008, 09:21 PM
Số bài viết: #2 Bài viết: 2,590 Gia nhập: Dec 2007 Shin Điểm tín nhiệm: 0 Ultimate Weapon Số lần cám ơn: 20 Được Thank 84 lần/51 bài viết Lập trình SQL [Nâng cao] SQL GROUP BY and HAVING Tập hợp functions (giống như lệnh SUM) thường cần thiết thêm vào hàm GROUP BY . GROUP BY... được xem thêm vào SQL bởi vì tập hợp các hàm trả về tập hợp của tất cả giá trị của cột theo mọi thời điểm mà họ gọi ra , và không dùng hàm GROUP BY thì xem như không thể tìm được số tổng số của những giá trị nhóm cột riêng lẻ . Mã: SELECT column,SUM(column) FROM table GROUP BY column Ví dụ về GROUP BY : Sử dụng câu lệnh SQL để xem những trường có trong table này : Mã: SELECT Company, SUM(Amount) FROM Sales Đoạn code trên sẽ không có hiệu lực bởi vị cột SUM(Amount) sẽ trả về tổng của tất cả các giá trị trong đó nên hiển thị sai .Mệnh đề GROUP BY sẽ giải quyết được vấn đề này : Mã:
SELECT Company,SUM(Amount) FROM Sales GROUP BY Company Câu lệnh trên sẽ nhóm những giá trị theo cột Company như vậy các giá trị Amount sẽ phải hiển thị đúng theo sự sắp xếp bên đó. Kết quả W3Schools có giá trị là 12600 vì có 2 trường cộng lại , IBM thì giữ nguyên đúng giá trị của nó. HAVING... Với câu lệnh này có lẽ bạn đã hiểu ý nghĩa của nó vì SQL rất gần với ngôn ngữ bình thường. Mã: SELECT column,SUM(column) FROM table GROUP BY column HAVING SUM(column) condition value Ta thực hiện lệnh như sau : Mã: SELECT Company,SUM(Amount) FROM Sales GROUP BY Company HAVING SUM(Amount)>10000 Kết quả sẽ hiển thị ra số nào ứng với cột Company có số lượng >10000 (having), vậy chỉ có W3Schools với tổng số là 12600. Thất bại thì Làm lại Bộ sưu tập E-books tiếng Anh và tiếng Việt cho ITer (119 cuốn): Xem link download tại Blog Kết nối!
08-12-2008, 09:24 Phần mềm Số bài viết: #3 Bài viết: 2,590 Gia nhập: Dec 2007 Shin Điểm tín nhiệm: 0 Ultimate Weapon Số lần cám ơn: 20 Được Thank 84 lần/51 bài viết Lập trình SQL [Nâng cao] SQL SELECT INTO Statement : Câu lệnh SELECT INTO thường được dùng để tạo những back up hay của tables hay những bản ghi . Mã: SELECT column_name(s) INTO newtable [IN externaldatabase] FROM source Sử dụng để backup : Những ví dụ sau đây được dùng để backup table Persons : Mã: SELECT * INTO Persons_backup FROM Persons Mệnh đề IN có thể được sử dụng để copy thêm tables vào trong database : Mã: SELECT Persons.* INTO Persons IN 'Backup.mdb'
FROM Persons Nếu bạn chỉ muốn copy một vài trường thì có thể select trực tiếp đến những trường đó : Mã: SELECT LastName,FirstName INTO Persons_backup FROM Persons Bạn cũng có thể sử dụng mệnh đề WHERE. Những ví dụ sau đây sẽ tạo một table "Persons_backup" với 2 cột (FirstName và LastName) được trích trong table Persons với cột City='Sandnes' (có nghĩa là những FirstName và LastName có City = 'Sandnes' Mã: SELECT LastName,Firstname INTO Persons_backup FROM Persons WHERE City='Sandnes' Cũng có thể select dữ liệu trong nhiều tables khác. Ví dụ này tạo một table mới có tên "Empl_Ord_backup" và chứa nội dung của 2 table là Employees và Orders: Mã: SELECT Employees.Name,Orders.Product INTO Empl_Ord_backup FROM Employees INNER JOIN Orders ON Employees.Employee_ID=Orders.Employee_ID Như vậy là table "Empl_Ord_backup" sẽ chứa tất cả các giá trị trong cột Employee_ID của 2 table Employees và Orders .
SQL CREATE VIEW Statement Một view có thể coi như là một "bảng ảo" có nội dụng được xác định từ một truy vẫn. Một truy vấn (query) chỉ là một tập hợp các chỉ dẫn (intruction) nhằm truy vẫn và hiển thị dữ liệu từ các bảng CSDL . Các truy vấn được thực hiện bằng các sử dụng câu lệnh SELECT. Using VIEW : Một VIEW (khung nhìn) trông giống như một bảng với một tập hợp các tên cột và các dòng dữ liệu.Tuy nhiên ,khung nhìn không tồn tại như là một cấu trúc lưu trữ dữ liệu trong CSDL. Dữ liệu bên trong khung nhìn thực chất là dữ liệu được xác định từ một hay nhiều bảng cơ sở và do đó phụ thuộc vào các bảng cơ sở. Các VIEW được sử dụng trong CSDL nhằm các mục đích sau : - Sử dụng khung nhìn để tập trung trên dữ liệu xác định - Sử dụng khung nhìn để đơn giản hoá thao tác dữ liệu - Sử dụng khung nhìn để tuỳ biến dữ liệu - Sử dụng khung nhìn để xuất dữ liệu - Sử dụng khung nhìn để bảo mật dữ liệu Mã: CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition Ví dụ sau về cách tạo 1 VIEW tên [Current Product List] với dữ liệu trong 2 cột ProductID,ProductName của table Products .
Mã: CREATE VIEW [Current Product List] AS SELECT ProductID,ProductName FROM Products WHERE Discontinued=No Chúng ta có thể truy vấn VIEW bằng câu lệnh sau : Mã: SELECT * FROM [Current Product List] Một số ví dụ khác về VIEW : Tạo một VIEW với tên [Products Above Average Price] có chứa data của 2 cột ProductName,UnitPrice trong table Products mà giá trị UnitPrice lớn hơn số lượng trung bình trong Products . Mã: CREATE VIEW [Products Above Average Price] AS SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products) Query view trên : Mã: SELECT * FROM [Products Above Average Price]

Xem link download tại Blog Kết nối!
Music ♫

Copyright: Tài liệu đại học ©