Các khái niệm về hệ quản trị csdl


KIỂM TRA SỰ TIẾN BỘ CỦA HỌC VIÊN



tải về 1.1 Mb.
trang12/15
Chuyển đổi dữ liệu17.08.2016
Kích1.1 Mb.
#20914
1   ...   7   8   9   10   11   12   13   14   15

KIỂM TRA SỰ TIẾN BỘ CỦA HỌC VIÊN

  1. ______ được sử dụng như một bí danh cho tên một bảng.

    1. Mệnh đề AS

    2. FROM

    3. INTO

    4. WHERE

  2. Từ khóa ______ chỉ hiển thị vài dòng đầu tiên của tập kết quả.

    1. VIEW

    2. PERCENT

    3. TOP

    4. DISTINCT

  3. ______ hiển thị một chuỗi có độ dài bất kỳ.

    1. []

    2. %



    3. [^]

  4. Mệnh đề ______ với từ khóa ______ làm giảm số các dòng được nhóm gộp.

    1. WHERE và GROUP BY

    2. HAVING và GROUP BY

    3. ALL và GROUP BY

    4. GROUP BY và DISTINCT

  5. Mệnh đề ______ sắp xếp tập kết quả theo một trật tự nhất định.

    1. GROUP BY

    2. ORDER BY

    3. WHERE

    4. ASC

CHƯƠNG 10

TRUY CẬP DỮ LIỆU TỪ CSDL (THỰC HÀNH)

Mục tiêu :


Kết thúc chương này, các bạn sẽ có thể:

  • Sử dụng câu lệnh SELECT

  • Giải thích cách dùng câu lệnh SELECT với mệnh đề INTO

  • Sử dụng câu lệnh SELECT với mệnh đề FROM

  • Sử dụng mệnh đề WHERE

  • Giải thích cách dùng câu lệnh SELECT với mệnh đề GROUP BY

  • Giải thích cách dùng câu lệnh SELECT với mệnh đề HAVING

  • Sử dụng mệnh đề ORDER BY

Phần I – 60 phút

Bài tập 1: Sử dụng câu lệnh SELECT với các mệnh đề khác nhau

Bài tập này sẽ giải thích cách dùng câu lệnh SELECT với các mệnh đề khác nhau như: FROM, WHERE, INTO, GROUP BY, HAVING và ORDER BY. Xem xét kịch bản của một công ty cần lưu giữ dấu vết của tất cả nhân viên trong công ty và các nhân viên mới vào. Biotron Technologies là một công ty hàng đầu trong lĩnh vực công nghệ sinh học ở Mỹ. Để thực thi công việc này họ dùng SQL Server và tạo ra một bảng có tên Employee với cấu trúc như bảng 10.1.



Field Name

Type

Size

Mô tả

EmployeeID

smallint




Xác định mỗi nhân viên với một số duy nhất

FirstName

char

10

Lưu trữ họ của nhân viên

LastName

char

10

Lưu trữ tên của nhân viên

Department

varchar

50

Lưu trữ bộ phận của nhân viên

HiredDate

datetime




Lưu trữ ngày nhân viên gia nhập công ty

Salary

money




Lưu trữ lương của mỗi nhân viên

Bảng 10.1: Bảng Employee

Dữ liệu mẫu của bảng Employee được hiển thị như hình 10.1





Hình 10.1: Các bản ghi trong bảng Employee

Theo kịch bản ở trên, hãy viết các truy vấn phù hợp:



  1. Viết truy vấn trả lại tất cả các bản ghi từ bảng Employee.

  2. Viết truy vấn trả lại danh sách các nhân viên có lương lớn hơn 350000. Tập kết quả gồm các trường EmployeeID, FirstName, LastName.

  3. Biotron Technologies trả tiền thưởng năm cho tất cả nhân viên là 5% lương từng người. Viết truy vấn trên với các trường EmployeeID, FirstName, Department, Salary và tính khoản tiền thưởng năm. Lưu kết quả vào một bảng khác với tên EmployeeBonus.

  4. Viết truy vấn trả lại danh sách các nhân viên có tên bắt đầu bằng ký tự ‘J’ gồm hai trường FirstName, Department.

  5. Quản lý của công ty cần quyết định số lượng nhân viên của mỗi bộ phận. Viết một truy vấn trả lại số lượng nhân viên trong mỗi bộ phận.

  6. Quản lý công ty cần lên kế hoạch về ngân sách hàng năm. Họ cần biết tổng chi tiêu về lương cho từng bộ phận cùng với số nhân viên của trong bộ phận đó. Viết một truy vấn trả lại tổng lương của tất cả nhân viên trong mỗi bộ phận với tên bộ phận và số nhân viên trong bộ phận đó.

Giải pháp:

Sử dụng câu lệnh SELECT trong SQL Server Management Studio

  1. Mở một cửa sổ truy vấn mới và gõ lệnh sau:

USE AdventureWorks

  1. Ấn phím F5 để thực hiện câu lệnh trên.

Để trả lại tất cả các hàng từ bảng Employee sử dụng câu lệnh SELECT và mệnh đề FROM, thực hiên theo các bước sau:

  1. Gõ câu lệnh sau:

SELECT * FROM EMPLOYEE

  1. Ấn phím F5 để thực hiện câu lệnh trên.

Kết quả được hiểnthị như hình 10.2.



Hình 10.2: Câu lệnh SELECT

Để hiển thị danh sách các nhân viên có lương lớn hơn $350000 gồm các trường EmployeeID, FirstName, LastName, thực hiện theo các bước sau:



  1. Gõ câu lệnh sau:

SELECT EmployeeID, FirstName, Department FROM Employee WHERE Salary >350000

  1. Ấn phím F5 để thực hiện câu lệnh trên.

Kết quả được hiểnthị như hình 10.3.



Hình 10.3: Câu lệnh SELECT dùng với mệnh đề FROM và WHERE

Sử dụng mệnh đề INTO để lưu trữ kết quả truy vấn vào một bảng mới trong cùng một CSDL

Để tính 5% lương của mỗi nhân viên và hiển thị nó trong một cột gọi là YearlyBonus và lưu kết quả vào một bảng mới trong cùng một CSDL, thực hiện theo các bước sau:



  1. Gõ câu lệnh sau:

SELECT EmployeeID, FirstName, Department, Salary, Salary*0.05 AS YearlyBonus

INTO EmployeeBonus FROM Employee Select * FROM EmployeeBonus



  1. Ấn phím F5 để thực hiện câu lệnh trên

Kết quả được hiển thị như hình 10.4.



Hình 10.4: Sử dụng mệnh đề INTO

Sử dụng mệnh đề WHERE với toán tử LIKE

  1. Gõ câu lệnh sau:

SELECT FirstName, Department FROM Employee

WHERE FirstName LIKE ‘J%’



  1. Ấn phím F5 để thực hiện câu lệnh trên.

Kết quả được hiển thị như hình 10.5.



Hình 10.5: Sử dụng mệnh đề WHERE với toán tử LIKE

Sử dụng mệnh đề GROUP BY

Thực hiện các bước sau để truy vấn số nhân viên trong mỗi bộ phận:



  1. Viết truy vấn SELECT sau:

SELECT Department, COUNT(*) ‘NumberOfEmployees’

FROM Employee GROUP BY Department



  1. Ấn phím F5 để thực hiện câu lệnh trên.

Kết quả được hiển thị như hình 10.6.



Hình 10.6: Sử dụng mệnh đề GROUP BY

Sử dụng mệnh đề GROUP BY với HAVING

Truy vấn phải dùng các hàm SUM() và COUNT(). Hàm SUM() được dùng để tính tổng lương của tất cả nhân viên trong một bộ phận. Tổng số nhân viên trong mỗi bộ phận sẽ dùng hàm COUNT(). Để nhóm kết quả theo mỗi bộ phận dùng mệnh đề GROUP BY. Hình 10.7 minh họa cho truy vấn này.

Để viết truy vấn tính tổng lương của tất cả các nhân viên trong mỗi bộ phận thực hiện theo các bước sau:

  1. Gõ câu lệnh sau:

SELECT Department, SUM(Salary) AS ‘SalaryTotal’,

COUNT( EmployeeID ) AS ‘NumberOfEmployees’

FROM Employee

GROUP BY Department



  1. Ấn phím F5 để thực hiện câu lệnh trên.

Kết quả được hiển thị như hình 10.7.



Hình 10.7: Sử dụng câu lệnh SELECT với mệnh đề GROUP BY và HAVING

Phần II – 60 phút


  1. Quản lý công ty muốn thưởng cho những nhân viên đã hoàn thành nhiệm vụ trong 03 năm. Sử dụng bảng Employee, viết truy vấn trả về gồm các trường EmployeeID, FirstName, Department, và HireDate.

Hướng dẫn:

Dùng hàm getDate(). Hàm này trả lại ngày giờ hiện tại theo định dạng yyyy/mm/dd hh:min:sec AM/PM



  1. Quản lý công ty cần tăng 25% lương cho các nhân viên đã làm việc trong công ty 1 năm. Viết một truy vấn trả lại gồm các trường EmployeeID, FirstName, Department của các nhân viên đã làm việc một năm tại công ty và cột lương đã tăng với tiêu đề là RevisedSalary.

  2. Chủ tịch công ty cần biết lương trung bình phải trả cho mỗi bộ phận. Viết truy vấn để hiển thị dữ liệu như theo yêu cầu.

  3. Viết truy vấn tính lương trung bình cho các bộ phận có số nhân viên > 1. Kết quả được sắp xếp giảm dần và lưu trong 1 bảng mới với tên bảng là DepartmentWiseSalary.

  4. Quản lý công ty cần biết danh sách những phòng ban có nhân viên đã làm việc tại công ty trên 3 năm. Viết truy vấn để hiển thị dữ liệu theo yêu cầu.

BÀI TẬP TỰ LÀM

1. MetroLink là một đại lý du lịch cần thiết kế một Web Portal để khách hàng có thể truy cập và đăng ký trực tuyến các dịch vụ. Họ cần phải tạo một bảng Hotels để lưu trữ chi tiết về các khách sạn như bảng 10.2. Mỗi khách sạn có nhiều loại phòng khác nhau và mỗi khách sạn có thể tọa lạc trên nhiều thành phố.



Field Name

Type

Size

Mô tả

HotelNumber

Smallint




Xác định mỗi khách sạn là một số duy nhất

HotelName

varchar

50

Lưu trữ tên của khách sạn

City

varchar

50

Lưu trữ tên của thành phố có khách sạn

NumberOfRooms

smallint




Lưu trữ số phòng trong khách sạn

RoomType

varchar

50

Lưu trữ các loại phòng

Price

money




Lưu trữ giá cho thuê của 1 phòng

Каталог: files
files -> Sạt-đe rằng: Nầy là lời phán của Đấng có bảy vì thần Đức Chúa Trời và bảy ngôi sao
files -> HƯỚng dẫn càI ĐẶt và SỬ DỤng phần mềm tạo bài giảng e-learning
files -> VIỆn chăn nuôi trịnh hồng sơn khả NĂng sản xuất và giá trị giống của dòng lợN ĐỰc vcn03 luậN Án tiến sĩ NÔng nghiệp hà NỘI 2014
files -> ĐẠi học quốc gia hà NỘi trưỜng đẠi học khoa học tự nhiên nguyễn Thị Hương XÂy dựng quy trình quản lý CÁc công trìNH
files -> PHỤ LỤC 2 TỔng hợp danh mục tài liệu tham khảO
files -> BÁo cáo quy hoạch vùng sản xuất vải an toàn tỉnh bắc giang đẾn năM 2020 (Thuộc dự án nâng cao chất lượng, an toàn sản phẩm nông nghiệp và phát triển chương trình khí sinh học ) Cơ quan chủ trì
files -> BỘ TÀi nguyên và MÔi trưỜng
files -> 1. Mục tiêu đào tạo: Mục tiêu chung

tải về 1.1 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   7   8   9   10   11   12   13   14   15




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương