Header ads

Header ads
» » Mệnh đề HAVING trong SQL

Mệnh đề HAVING trong SQL được sử dụng để lọc các bản ghi và chỉ lấy những bản ghi phù hợp với yêu cầu hoặc thực sự cần thiết tương tự như mệnh đề WHERE. Tuy nhiên:

    Vì vậy mà sau GROUP BY thì sẽ chỉ dùng được HAVING còn WHERE không dùng được sau GROUP BY.

    Cú pháp sử dụng HAVING trong SQL

    Vị trí của mệnh đề HAVING trong một truy vấn SQL như sau:

    SELECT
    FROM
    WHERE
    GROUP BY
    HAVING
    ORDER BY

    Lưu ý: Mệnh đề HAVING phải theo sau mệnh đề GROUP BY trong một truy vấn và đặt trước mệnh đề ORDER BY nếu được sử dụng.

    Dưới đây là cú pháp của lệnh SELECT bao gồm mệnh đề HAVING:

    SELECT cot1, cot2
    FROM bang1, bang2
    WHERE [ dieu_kien ]
    GROUP BY cot1, cot2
    HAVING [ dieu_kien ]
    ORDER BY cot1, cot2

    Ví dụ về HAVING trong SQL

    Giả sử bảng NHANVIEN có các bản ghi như sau:

     +----+----------+-----+-----------+----------+   | ID | TEN      |TUOI | DIACHI    | LUONG    |   +----+----------+-----+-----------+----------+   |  1 | Thanh    |  32 | Haiphong  |  2000.00 |   |  2 | Loan     |  25 | Hanoi     |  1500.00 |   |  3 | Nga      |  23 | Hanam     |  2000.00 |   |  4 | Manh     |  25 | Hue       |  6500.00 |   |  5 | Huy      |  27 | Hatinh    |  8500.00 |   |  6 | Cao      |  22 | HCM       |  4500.00 |   |  7 | Lam      |  24 | Hanoi     | 10000.00 |   +----+----------+-----+-----------+----------+

    Để hiển thị bản ghi có độ tuổi xuất hiện lớn hơn hoặc bằng 2 lần, ta chạy lệnh như sau:

    SQL > SELECT ID, TEN, TUOI, DIACHI, LUONG
    FROM NHANVIEN
    GROUP BY tuoi
    HAVING COUNT(tuoi) >= 2;

    Kết quả trả về là:

     +----+----------+-----+-----------+----------+   | ID | TEN      |TUOI | DIACHI    | LUONG    |   +----+----------+-----+-----------+----------+   |  2 | Loan     |  25 | Hanoi     |  1500.00 |   +----+----------+-----+-----------+----------+

    Trong phần tiếp theo, chúng ta sẽ tìm hiểu về Transaction trong SQL, các bạn nhớ theo dõi nhé.

    Bài trước: Khung nhìn VIEW trong SQL

    Bài tiếp: TRANSACTION trong SQL


    Tham gia nhóm Facebook

    Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
    Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
    Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

    About Học viện đào tạo trực tuyến

    Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
    - Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
    - Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
    HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
    «
    Next
    Bài đăng Mới hơn
    »
    Previous
    Bài đăng Cũ hơn