Danh mục

Trắc nghiệm SQL

Số trang: 13      Loại file: doc      Dung lượng: 55.50 KB      Lượt xem: 13      Lượt tải: 0    
Thu Hiền

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu trắc nghiệm sql, công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Trắc nghiệm SQLTrắc nghiệm SQL Chương 2: bài tập trang 27-30 (giáo trình CSDL Quan Hệ & SQL)Câu 8: Câu này rất đơn giản, toàn bộ yêu cầu đều nằm trong bảng GRADE, các bạn chỉ cần dung lệnh select là xong Giải: SELECT * FROM grade;Tuy nhiên nếu bạn muốn trông giống như trong sách thì có thể thêm lệnh As (lệnh gán) vào sau các trường: SELECT GradeLevel As GRADE, LowestSal As LOSal, HighestSal As HISal FROM grade; Câu này dễ nên mình cũng không cần giải thích các bạn cũng đã hiểu. Câu 9: Câu này là câu cơ bản nhất trong các bài tập liên kết giữa các bảng, các bạn bắt buộc phải hiểu và làm được câu này thì các câu sau mới có thể làm được Giải: SELECT EMPID, LastName, job.JobTitle, ManagerId, HireDay, Salary, CommitionPTC, DeptId FROM emp INNER JOIN job ON emp.JobId=job.JobId; Ở trên sách thì lệnh liên kết là lệnh Where … nhưng theo mình thì các bạn nên dùng lệnhINNER JOIN như trên vì lệnh where là chuẩn 1999 kia, còn lệnh INNER JOIN là chuẩn 2003, nên mình cũng nên dùng chuẩn mới nhất.Giải thích: Lệnh INNER JOIN có nghĩa là liên kết tương đương, vì yêu cầu bài tập có trường Job, nhưng Job chỉ có trong bảng Job. Còn các trường còn lại thì nằm trong bảng EMP, do đó chúng ta phải liên kết 2 bảng lại bằng lệnh INNER JOIN với điều kiện là emp.JobId=job.JobId, ở trên lệnh select chúng ta phải thêm tên bảng job vào trước trường JobTitle để chương trình hiểu là chúng ta lấy trường này từ bảng nào. Câu 10: Câu này phải thực hiện trong Oracle Giải: DESC EMP Câu 12: Giải: SELECT LastName, DeptId, Salary FROM emp WHERE Salary between 30000 and 80000;Giải thích: Ở đây yêu cầu đề bài là lấy mức lương từ 1000 đến 2000 (nhưng trong cơ sở dữ liệumẫu không có nên chúng ta lấy khác cũng được), do vậy phải dùng lệnh between (lệnh này có nghĩ là lấy giữa một khoảng nào đó). Câu 13: Giải: SELECT DeptId, DeptName FROM dept ORDER BY DeptName; Giải thích: trong bài này các bạn chỉ cần chú ý đến lệnh Order By là được, lệnh này các bạn đềuđã biết nên mình khỏi giải thích, tuy nhiên các bạn lưu ý là lệnh này luôn đứng cuối cùng. Và nếu sắp tăng thì dùng lệnh Order By … ASC, xếp giảm thì Order By … DESC. Câu 14: Chúng ta thay phòng 10 và 20 bằng phòng 50 và 60 Giải: SELECT EMPID, LastName, job.JobTitle, ManagerId, HireDay, Salary, CommitionPTC, DeptId FROM emp INNER JOIN job ON emp.JobID=job.JobID WHERE DeptId in (50,60) ORDER BY LastName; Giải thích: Trong bài này các bạn cần chú ý đến lệnh In, lệnh này tương đương với lệnh Or (hoặc), trong bài yêu cầu là hiển thị nhân viên là tại phòng 10 và 20, nhưng các bạn cần phải chú ý không được dùng lệnh And ( có một số bạn bị sai chỗ này) mà phải dùng lệnh In vi mỗi nhân viên chỉ làm việc tại 1 phòng 50 hoặc 60 mà thôi. Lệnh where (điều kiện) thì các bạn chắc cũng đã biết, mình không cần phải nói lại (tham khảo trang 20) Câu 15: Chúng ta thay nghề cleck bằng nghề IT Program Giải: SELECT LastName, JobTitle FROM emp INNER JOIN job ON emp.JobID=job.JobID WHERE JobTitle=IT Program; Giải thích: không cần giải thích các bạn cũng đã hiểu.Câu 16: Chúng ta thay TH bằng ng. Nếu muốn gồm 2 chuỗi kí tự như trong sách thì các bạn chỉ cần thêm lệnh In hoặc Or cũng được. Giải: SELECT * FROM emp WHERE LastName like *ng*;Giải thích: Ở đây các bạn cần lưu ý là trong sách thì để dùng lệnh like thì dùng kí tự “%” “or” /để làm kí tự đại diện. Tuy nhiên 2 kí tự trên chỉ dùng được trong HQTCSDL Oracle or SQL màthôi, còn trong Access không hỗ trợ nên nếu làm y trong sách không ra thì cũng không phải là ...

Tài liệu được xem nhiều: