Showing posts with label äá». Show all posts
Showing posts with label äá». Show all posts
Tuesday, December 20, 2016
Mệnh đề GROUP BY mệnh đề HAVING trong SQL
Mệnh đề GROUP BY mệnh đề HAVING trong SQL
M?nh ??
GROUP BY
???c thêm vào SQL b?i vì các hàm t?p h?p (nh? SUM) tr? v? m?t t?p h?p c?a các giá tr? trong c?t m?i khi chúng ???c g?i, và n?u không có GROUP BY ta không th? nào tính ???c t?ng c?a các giá tr? theo t?ng nhóm riêng l? trong c?t.Cú pháp c?a
GROUP BY nh? sau:SELECT tên_c?t, SUM(tên_c?t) FROM tên_b?ng GROUP BY tên_c?t
Ví d? s? d?ng
GROUP BY:Gi? s? ta có b?ng Sales nh? sau:
| Company | Amount |
|---|---|
| W3Schools | 5500 |
| IBM | 4500 |
| W3Schools | 7100 |
Câu l?nh SQL sau:
SELECT Company, SUM(Amount) FROM Sales
s? tr? v? k?t qu?:
| Company | SUM(Amount) |
|---|---|
| W3Schools | 17100 |
| IBM | 17100 |
| W3Schools | 17100 |
K?t qu? tr? v? ? trên ?ôi khi không ph?i là cái mà ta mong ??i. Ta thêm m?nh ??
GROUP BY vào trong câu l?nh SQL:SELECT Company, SUM(Amount) FROM Sales
GROUP BY Company
và k?t qu? tr? v? l?n này s? là:
| Company | SUM(Amount) |
|---|---|
| W3Schools | 12600 |
| IBM | 4500 |
K?t qu? này ?úng là cái mà ta mong mu?n.
HAVING
M?nh ??
HAVING
???c thêm vào SQL vì m?nh ?? WHERE không áp d?ng ???c ??i v?i các hàm t?p h?p (nh? SUM). N?u không có HAVING, ta không th? nào ki?m tra ???c ?i?u ki?n v?i các hàm t?p h?p.Cú pháp c?a
HAVING nh? sau:SELECT tên_c?t, SUM(tên_c?t) FROM tên_b?ng
GROUP BY tên_c?t
HAVING SUM(tên_c?t) ?i?u_ki?n giá_tr?
Ta s? d?ng l?i b?ng Sales ? trên. Câu l?nh SQL sau:
SELECT Company, SUM(Amount) FROM Sales
GROUP BY Company
HAVING SUM(Amount) > 10000
s? tr? v? k?t qu?:
| Company | SUM(Amount) |
|---|---|
| W3Schools | 12600 |

Available link for download
Thursday, November 10, 2016
Mệnh đề WHERE trong SQL Các phép toán LIKE BETWEEN Lớn hơn Nhỏ hơn khi dùng where
Mệnh đề WHERE trong SQL Các phép toán LIKE BETWEEN Lớn hơn Nhỏ hơn khi dùng where
M?nh ??
WHERE ???c dùng ?? thi?t l?p ?i?u ki?n truy xu?t.M?nh ?? WHERE?? truy xu?t d? li?u trong b?ng theo các ?i?u ki?n nào ?ó, m?t m?nh ??
WHERE có th? ???c thêm vào câu l?nh SELECT.Cú pháp
Cú pháp m?nh ??
WHERE trong câu l?nh SELECT nh? sau:SELECT tên_c?t FROM tên_b?ng
WHERE tên_c?t phép_toán giá_tr?
Trong m?nh ??
WHERE, các phép toán ???c s? d?ng làPhép toán Mô t?
= So sánh b?ng
<> So sánh không b?ng
> L?n h?n
< Nh? h?n
>= L?n h?n ho?c b?ng
<= Nh? h?n ho?c b?ng
BETWEEN N?m gi?a m?t kho?ng
LIKE So sánh m?u chu?i
L?u ý: Trong m?t s? phiên b?n c?a SQL, phép toán <> có th? ???c vi?t d??i d?ng !=
S? d?ng m?nh ??
WHERE?? l?y danh sách nh?ng ng??i s?ng ? thành ph? Sandnes, ta s? d?ng m?nh ??
WHERE trong câu l?nh SELECT nh? sau:SELECT * FROM Persons
WHERE City = Sandnes
B?ng Persons:
| LastName | FirstName | Address | City | Year |
|---|---|---|---|---|
| Hansen | Ola | Timoteivn 10 | Sandnes | 1951 |
| Svendson | Tove | Borgvn 23 | Sandnes | 1978 |
| Svendson | Stale | Kaivn 18 | Sandnes | 1980 |
| Pettersen | Kari | Storgt 20 | Stavanger | 1960 |
K?t qu? tr? v?:
| LastName | FirstName | Address | City | Year |
|---|---|---|---|---|
| Hansen | Ola | Timoteivn 10 | Sandnes | 1951 |
| Svendson | Tove | Borgvn 23 | Sandnes | 1978 |
| Svendson | Stale | Kaivn 18 | Sandnes | 1980 |
S? d?ng d?u nháy
L?u ý r?ng ? ví d? trên ta ?ã s? d?ng hai d?u nháy ??n () bao quanh giá tr? ?i?u ki?n Sandnes.
SQL s? d?ng d?u nháy ??n bao quanh các giá tr? ? d?ng chu?i v?n b?n (text). Nhi?u h? CSDL còn cho phép s? d?ng d?u nháy kép (). Các giá tr? ? d?ng s? không dùng d?u nháy ?? bao quanh.
V?i d? li?u d?ng chu?i v?n b?n:
Câu l?nh ?úng:SELECT* FROM Persons WHERE FirstName =ToveCâu l?nh sai:SELECT* FROM Persons WHERE FirstName = Tove
V?i d? li?u d?ng s?:
Câu l?nh ?úng:SELECT* FROM Persons WHERE Year >1965Câu l?nh sai:SELECT* FROM Persons WHERE Year >1965
Phép toán ?i?u ki?n
LIKEPhép toán LIKE ???c dùng ?? tìm ki?m m?t chu?i m?u v?n b?n trên m?t c?t.
Cú pháp
Cú pháp c?a phép toán LIKE nh? sau:
SELECT tên_c?t FROM tên_b?ng
WHERE tên_c?t LIKE m?u
M?t ký hi?u % có th? ???c s? d?ng ?? ??nh ngh?a các ký t? ??i di?n. % có th? ???c ??t tr??c và/ho?c sau m?u.
S? d?ng
LIKECâu l?nh SQL sau s? tr? v? danh sách nh?ng ng??i có tên b?t ??u b?ng ch? O:
SELECT * FROM Persons
WHERE FirstName LIKE O%
Câu l?nh SQL sau s? tr? v? danh sách nh?ng ng??i có tên k?t thúc b?ng ch? a:
SELECT * FROM Persons
WHERE FirstName LIKE %a
Câu l?nh SQL sau s? tr? v? danh sách nh?ng ng??i có tên k?t ch?a chu?i la:
SELECT * FROM Persons
WHERE FirstName LIKE %la%

Available link for download
Subscribe to:
Posts (Atom)