Showing posts with label mệnh. Show all posts
Showing posts with label mệnh. 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:
CompanyAmount
W3Schools5500
IBM4500
W3Schools7100
Câu l?nh SQL sau:
SELECT Company, SUM(Amount) FROM Sales
s? tr? v? k?t qu?:
CompanySUM(Amount)
W3Schools17100
IBM17100
W3Schools17100
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à:
CompanySUM(Amount)
W3Schools12600
IBM4500
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?:
CompanySUM(Amount)
W3Schools12600


Available link for download

Read more »

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:
LastNameFirstNameAddressCityYear
HansenOlaTimoteivn 10Sandnes1951
SvendsonToveBorgvn 23Sandnes1978
SvendsonStaleKaivn 18Sandnes1980
PettersenKariStorgt 20Stavanger1960
K?t qu? tr? v?:
LastNameFirstNameAddressCityYear
HansenOlaTimoteivn 10Sandnes1951
SvendsonToveBorgvn 23Sandnes1978
SvendsonStaleKaivn 18Sandnes1980
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 = Tove
Câ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 > 1965
Câu l?nh sai:
SELECT * FROM Persons WHERE Year > 1965
Phép toán ?i?u ki?n LIKE
Phé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 LIKE
Câ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

Read more »