Sql học sinh có điểm trung bình cao năm 2024
Truy vấn cơ sở dữ liệu là việc chúng ta thường xuyên thực hiện khi lập trình, tuy nhiên, đối với việc lập trình framework như Rails chẳng hạn, nó đã hỗ trợ chúng ta rất nhiều trong việc viết câu lệnh truy vấn.Sau đây mình xin trình bày một số kiểu query hay được sử dụng bằng SQL query thuần. Show
1. Tìm Salary cao thứ 2 trong bảng Employee.Đây là bài toán phổ biến, mình thấy nó có khá nhiều chỗ khắc tới nó theo tìm hiểu trên mạng. Đối với yêu cầu này, ta có thể wủ dụng Subquery với mệnh đề "IN" để giải quyết vấn đề:
hoặc có thể sử dụng toán tử "<" để thay thế cho "IN":
hoặc sử dụng từ khóa LIMIT trong Mysql:
2.Tìm MAX Salary từ mỗi Department.Ở đây, ta có thể sử dụng "GROUP BY" theo Department(DeptID) kết hợp với hàm MAX() để tìm ra Salary lớn nhất trong mỗi group được nhóm ra đối với mỗi department.
3.Hiển thị current dateSQL cung cấp function GetDate() trả về thời gian hiện tại, ta có thể sử dụng function này như sau:
4.Check định dạng date có phải là định đạng date cho trước hay không.SQL cung cấp function IsDate() để check định dạng của date cho trước, nó sẽ trả về giá trị 1(true) hoặc 0(false), ta có thể sử dụng như sau:
5.In ra tên của các employee khác nhau có ngày sinh(DOB) nằm trong khoảng thời gian nhất định nào đó.Để giải quyết yêu cầu trên, ta có thể sử dụng mệnh đề BETWEEN để lấy tất cả các records có DOB thỏa mãn khoảng thời gian cố định, chảng hạn như:
6.Tìm số lượng employees theo giới tính mà có ngày sinh (DOB) nằm trong khoảng thời gian cố định cho trước.Ta có thể sử dụng BETWEEN như trên để lấy số employees theo khoảng thời gian và GROUP BY để nhóm employees theo giới tính, câu lệnh như sau:
7.Tìm số employees có Salary lớn hơn hoặc bằng 10000.Các toán tử điều kiện cũng là một phần hay được sử dụng trong SQL, đối với yêu cầu trên ta có câu lệnh sau:
8.Tìm tên của employee bắt đầu bằng ký tự "M".Ta có thể sử dụng toán tử "LIKE" để giải quyết yêu cầu này:
9.Tìm tên của employee có chưa từ "Joe", chấp nhận cả những trường hợp như "JOE", "Joe" và "joe".Ngoài việc sử dụng toán tử "LIKE" như trên, sử dụng kết hợp với hàm UPPER() là một cách hiệu quả cho yêu cầu trên:
0 10.Lâý năm từ ngày tháng bằng SQL query.Sử dụng function GetDate() để lấy về ngày tháng hiện tại, cụ thể như sau:
1 11.Tìm những row bị trùng lặp và xóa chúng.
2
3 12. Một table có 2 trường là Student và Marks(điểm), hãy tìm tất cả các Student có điểm lớn hơn điểm trung bình.Ta có thể sử dụng Subquery để xử lý yêu cầu tren, cụ thể như sau:
4 13.Tìm tất cả các employees đồng thời là manager.giả sử ta có bảng employee với một trường là mgr_id, là id của Manager của emplyee tương ứng, ở đây chúng ta sẽ dùng self-join.Trong self-join, ta có thể join 2 trường của cùng một bảng để lấy ra thông tin như sau:
Provide feedbackWe read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Saved searchesUse saved searches to filter your results more quicklyName Query To see all available qualifiers, see our documentation. Sign in Sign up |