Thursday, April 5, 2012

[Học SQL online] Tìm hiểu về các câu lệnh trong SQL sever

[Học SQL online] Tìm hiểu về các câu lệnh trong SQL sever

Câu lệnh SELECT DISTINCT
Câu lệnh này dùng để loại bỏ những giá trị giống nhau và chỉ show ra 1 giá trị .
Cú pháp:

Ví dụ: Có một bảng ORDER như sau:

Để lấy hết giá trị của cột Company, ta sử dụng cú pháp:

Kết quả trả về:

Ta nhận thấy trong cột Company có 2 giá trị giống nhau là W3Schools
Vậy muốn cột Company chỉ hiển thị duy nhất 1 giá trị W3Schools ta sử dụng câu lệnh DISTINCT như sau :

Kết quả :


Tham khảo cách vận dụng trong bài tập sau: 
http://kenhdaihoc.com/forum/showthread.php?3053

Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

[Học SQL online] Tìm hiểu về các câu lệnh trong SQL sever

[Học SQL online] Tìm hiểu về các câu lệnh trong SQL sever

Câu lệnh SELECT DISTINCT
Câu lệnh này dùng để loại bỏ những giá trị giống nhau và chỉ show ra 1 giá trị .
Cú pháp:

Ví dụ: Có một bảng ORDER như sau:

Để lấy hết giá trị của cột Company, ta sử dụng cú pháp:

Kết quả trả về:

Ta nhận thấy trong cột Company có 2 giá trị giống nhau là W3Schools
Vậy muốn cột Company chỉ hiển thị duy nhất 1 giá trị W3Schools ta sử dụng câu lệnh DISTINCT như sau :

Kết quả :


Tham khảo cách vận dụng trong bài tập sau: 
http://kenhdaihoc.com/forum/showthread.php?3053

Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

Biểu thức ALTER TABLE trong SQL Sever


SQL ALTER TABLE

Biểu thức ALTER TABLE dùng để thay đổi các giá trị trong tables.

Cú pháp:
Lưu ý : Một vài hệ thống database ko cho phép drop trực tiếp các cột trong table. (DROP COLUMN column_name)

Table Persons

Thêm vào 1 cột trong table Persons

Kết quả

Drop cột Address

Kết quả


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

Lệnh CREATE trong SQL sever


QL CREATE

Giả sử tạo ra bảng “Person” với các cột “LastName”, “FirstName”, “Address”, and “Age”


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

Toán tử BETWEEN … AND trong SQL Sever


SQL BETWEEN

Toán tử BETWEEN … AND dùng để lọc ra một khoảng trong dữ liệu giữa 2 giá trị. Giá trị đó có thể là số (numbers), chữ (text) hoặc ngày tháng (dates)

Cú pháp:

Table Persons:

Ví dụ 1:

Ta muốn lấy được ra tất cả các giá trị trong LastName trong khoảng từ “Hansen” đến “Pettersen”thì câu lệnh sẽ như sau

Kết quả ta có 2 giá trị hiển thị theo alphabetically :


Ví dụ 2 :

Trong ví dụ này ta sẽ hiện thị ra kết quả không phải trong khoảng ‘Hansen’ và ‘Pettersen’
Chỉ cần thêm NOT vào trước BETWEEN

Kết quả sẽ hiển thị những giá trị từ Pettersen trở xuống


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

Toán tử IN trong SQL sever


SQL IN

Toán tử IN có thể được sử dụng nếu bạn biết chính xác giá trị mà bạn muốn trả về trong ít nhất một cột.
Cú pháp:

Table Persons
Câu lệnh sau Select và hiển thị table Persons với LastName = “Hansen” hoặc “Pettersen”

Kết quả


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

Lệnh AND & OR trong SQL sever


SQL AND & OR

AND
OR dùng nối 2 hoặc nhiều điều kiện trong một mệnh đề WHERE.
Toán tử AND hiển thị số hàng nếu tất cả điều kiện trong danh sách đều đúng (true).
Toán tử OR hiển thị số hàng nếu một vài điều kiện trong danh sách đúng (true).

Table Person

Sử dụng AND để hiển thị những giá trị trong table person với FirstName =”Tove” ,và LastName =”Svendson”

Kết quả

Tương tự với toán tử OR ta sẽ dùng hiển thị FirstNameLastName như trên, nhưng đây là câu điều kiện hoặc lên sẽ show ra FirstName=”Tove” hoặc LastName =”Svendson” mà trong table Persons có 2 người FirstName ‘Svendson’ nên ta sẽ nhận được 2

Kết quả


Hoặc ta có thể kết hợp cả 2 toán tử AND và OR để ra được kết quả trên (sử dụng biểu thức sẽ phức tạp hơn)


Kết quả


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

Lệnh GROUP BY and HAVING trong SQL sever


SQL GROUP BY and HAVING
GROUP BY…
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à ko dùng hàm GROUP BY thì xem như ko thể tìm được số tổng số của những giá trị nhóm cột riêng lẻ .
Cú pháp :
Đây là table “Sales” 

Sử dụng câu lệnh SQL để xem những trường có trong table này :

Kết quả


Đoạn code trên sẽ ko 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 


Kết quả:

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
Cú pháp:

Vẫn table Sales :

Ta thực hiện lệnh như sau :

Kết quả
 

Functions - hàm gắn liền với sự tính toán trong SQL


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 :



Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067

Lệnh ORDER BY trong SQL sever

SQL ORDER BY
Dùng đề sắp xếp các hàng theo quy định cột
Bảng Order

Câu lệnh sắp xếp thứ tự công ty theo alphabetical:

Kết quả

Câu lệnh sắp xếp thứ tự công ty theo alphabetical, và sắp xếp OrderNumber

Kết quả

Sắp xếp tên công ty theo thứ tự giảm dần:

Kết quả

Sắp xếp tên công ty giảm dần và cột OrderNumbers tăng dần:

Kết quả


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3067