intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài 4: Hàm và các kiểu kết nối và câu truy vấn con

Chia sẻ: NgoVan Quang | Ngày: | Loại File: PPT | Số trang:21

158
lượt xem
30
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hiển thị kết quả câu truy vấn bằng chữ hoa Trong SQL, nếu ta muốn kết quả của câu truy vấn được chuyển sang toàn chữ hoa thì ta có thể dùng hàm upper. Cách dùng hàm trong câu lệnh select có cú pháp như sau: SELECT function_name (parameters)

Chủ đề:
Lưu

Nội dung Text: Bài 4: Hàm và các kiểu kết nối và câu truy vấn con

  1. Bài 4: Hàm và các kiểu kết nối và câu truy vấn con Mục tiêu:  Cách dùng hàm xử lý chuỗi trong câu truy vấn  Cách dùng hàm xử lý thời gian trong câu truy vấn  Cách dùng hàm xử lý toán học trong câu truy vấn  Sử dụng các kiểu kết nối inner join  Sử dụng các kiểu kết nối outter join  Sử dụng các kiểu kết nối self join  Sử dụng câu truy vấn con  Lưu kết quả câu truy vấn vào bảng tạm Bài 4 / Slide 1  ©NIIT   Hàm và truy vấn dữ  
  2. Hiển thị kết quả câu truy vấn bằng chữ hoa  Trong SQL, nếu ta muốn kết quả của câu truy v ấn được chuyển sang toàn chữ hoa thì ta có thể dùng hàm upper.  Cách dùng hàm trong câu lệnh select có cú pháp như sau: SELECT function_name (parameters)  Ví dụ demo: Viết câu truy vấn hiển thị tên của tờ báo, tên người liên l ạc và số điện thoại liên lạc để công ty liên hệ quảng cáo. Tên của t ờ báo phải được hiển thị bằng chữ hoa. SELECT 'Newspaper Name‘ = UPPER(cNewspaperName), vContactPerson,cPhone FROM Newspaper Bài 4 / Slide 2  ©NIIT   Hàm và truy vấn dữ  
  3. Một số hàm xử lý chuỗi cơ bản ASCII STR REVERSE NCHAR DIFFERENCE UNICODE SOUNDEX QUOTENAME LOWER CHAR STUFF RIGHT PATINDEX LEFT UPPER SPACE REPLICATE LTRIM CHARINDEX SUBSTRING RTRIM REPLACE LEN Bài 4 / Slide 3  ©NIIT   Hàm và truy vấn dữ  
  4. Hàm xử lý ngày giờ (Datetime function)  Hàm xử lý ngày tháng được dùng để xử lý các giá trị về thời gian, thực hiện một số phép tóan như cộng trừ thời gian hoặc có các hàm để lấy một phần thông tin của thời gian như: ngày, tháng, năm.  Cách dùng hàm datetime trong câu lệnh select có cú pháp như sau: SELECT datetime_function (parameters)  Ví dụ demo: Ngày hết hạn dự kiến tuyển dụng là 10 ngày từ khi bắt đầu quá trình tuyển dụng. Viết câu truy vấn dữ liệu hiển thị mã trường, ngày bắt đ ầu tuyển dụng, ngày hết hạn cho tất cả các trường mà công ty định tuy ển sinh viên. SELECT cCollegeCode, dRecruitmentStartDate, 'Proposed Deadline' = DATEADD(dd, 10, dRecruitmentStartDate) FROM CampusRecruitment Bài 4 / Slide 4  ©NIIT   Hàm và truy vấn dữ  
  5. Một số hàm xử lý datetime Tham số Tên hàm DATEADD (datepart, number, date) DATEDIFF (datepart, date1, date2) DATENAME (datepart, date) DATEPART (datepart, date) GETDATE () Bài 4 / Slide 5  ©NIIT   Hàm và truy vấn dữ  
  6. Hàm toán học  Hàm toán học dùng để thực hiện các phép tính trên giá tr ị tr ả về của câu truy vấn  Cách dùng hàm toán học trong câu lệnh select có cú pháp nh ư sau: SELECT function_name (parameters)  Ví dụ demo: Viết câu truy vấn hiển thị tên, số điện thoại và điểm ph ỏng v ấn của ứng viên có tên là Helen. Điểm phải được làm tròn. SELECT vFirstName, cPhone,'Score'= ROUND(79.9,0) FROM ExternalCandidate WHERE vFirstName='Helen' Bài 4 / Slide 6  ©NIIT   Hàm và truy vấn dữ  
  7. Một số hàm toán học cơ bản Tham số Tên hàm ABS (numeric_expression) ACOS, ASIN, (float_expression) ATAN COS, SIN, (float_expression) COT, TAN ROUND (numeric_expression, length) RAND ([seed]) Bài 4 / Slide 7  ©NIIT   Hàm và truy vấn dữ  
  8. Kết nối (Join)  Toán tử JOIN được dùng trong các câu truy vấn lấy dữ liệu từ nhiều bảng trong cùng thời điểm.  Cú pháp cho toán tử JOIN như sau: SELECT column_name, column_name [,column_name] FROM table_name [CROSS|INNER|[LEFT | RIGHT]OUTER] JOIN table_name [ON table_name.ref_column_name join_operator table_name.ref_column_name] [WHERE search_condition] Bài 4 / Slide 8  ©NIIT   Hàm và truy vấn dữ  
  9. Join (Tiếp theo)  Có nhiều kiểu kết nối khác nhau: Inner Join  Outer Join  Cross Join  Equi Join  Natural Join  Self Join  Bài 4 / Slide 9  ©NIIT   Hàm và truy vấn dữ  
  10. Hiển thị dữ liệu từ hai bảng dùng inner join  Inner join được dùng để hiển thị dữ liệu từ hai hay nhiều bảng bằng cách so sách giá trị của những cột giống nhau, nếu dòng nào có giá tr ị của hai cột trên bằng nhau thì sẽ được hiển thị.  Ví dụ minh họa: Viết câu truy vấn hiển thị tên của ứng viên và tên của văn phòng tuy ển dụng ứng viên này? SELECT 'Candidate Name'=vFirstName,'Recruitment Agency' = cName FROM ExternalCandidate JOIN RecruitmentAgencies ON ExternalCandidate.cAgencyCode=RecruitmentAgencies.cAgencyCode Bài 4 / Slide 10  ©NIIT   Hàm và truy vấn dữ  
  11. Kết nối dữ liệu dùng outter join  Outter join hiển thị tất cả các dòng trên 1 bảng, riêng bảng còn lại ch ỉ hiển thị những dòng được so trùng với bảng kia.  Ví dụ minh họa: Viết câu truy vấn hiển thị tên của ứng viên bên ngòai và tên của văn phòng tuyển dụng cho ứng viên này nếu có. SELECT vFirstName, vLastName, cName FROM ExternalCandidate LEFT OUTER JOIN RecruitmentAgencies ON ExternalCandidate.cAgencyCode=RecruitmentAgencies.cAgencyCode Bài 4 / Slide 11  ©NIIT   Hàm và truy vấn dữ  
  12. Kết nối dữ liệu trong cùng một bảng (Self Join)  Self Join là kiểu kết nối mà một hàng trong b ảng k ết n ối v ới hàng khác trong cùng một bảng.  Ví dụ minh họa: SELECT t1.title,t2.title , t1.price FROM titles t1 JOIN titles t2 ON t1.price=t2.price WHERE t1.price=2.99 Bài 4 / Slide 12  ©NIIT   Hàm và truy vấn dữ  
  13. Câu truy vấn con (Sub query)  Câu truy vấn được dùng trong các lệnh SQL như SELECT, UPDATE, INSERT và DELETE được gọi là câu truy vấn con.  Câu truy vấn con được dùng để truy xuất dữ liệu từ một hoặc nhiều bảng nên được dùng để thay thế toán tử Join.  Câu truy vấn con còn được sử dụng trong các mệnh đề WHETE và HAVING.  Khi thực thi câu lệnh SQL có câu truy vấn con, câu truy vấn con sẽ được thực thi trước, sau đó mới đến câu lệnh truy vấn bên ngòai. Bài 4 / Slide 13  ©NIIT   Hàm và truy vấn dữ  
  14. Ví dụ minh họa câu truy vấn con  Hãy viết câu truy vấn hiển thị tên các nhà tuyển dụng sống cùng thành ph ố với ứng viên từ bên ngoài có tên: Barbara Johnson. SELECT cName FROM ContractRecruiter WHERE cCity = (SELECT cCity FROM ExternalCandidate WHERE vFirstName = 'Barbara' AND vLastName = 'Johnson') Bài 4 / Slide 14  ©NIIT   Hàm và truy vấn dữ  
  15. Câu truy vấn con với mệnh đề IN  Nếu câu truy vấn con trả về hơn 1 giá trị thì người ta phải dùng m ệnh đ ề IN thay cho toán tử so sánh bằng (=)  Ví dụ minh họa: Viết câu truy vấn trả về mã tác giã có sách bán được? SELECT Au_Id FROM TitleAuthor WHERE Title_Id IN (SELECT Title_Id FROM Sales) Bài 4 / Slide 15  ©NIIT   Hàm và truy vấn dữ  
  16. Câu truy vấn con với mệnh đề EXISTS  Câu truy vấn con được dùng với mệnh đề EXISTS để kiểm tra sự tồn tại của một dữ liệu nào đó hay không? Mệnh đề EXISTS trả v ề 2 giá trị TRUE hoặc FALSE.  Ví dụ minh họa: Viết câu truy vấn trả về tên nhà xuất b ản có xu ất bản sách thuộc thể loại business. SELECT Pub_Name FROM Publishers WHERE EXISTS ( SELECT * FROM Titles WHERE Type = 'business') Bài 4 / Slide 16  ©NIIT   Hàm và truy vấn dữ  
  17. Câu truy vấn con được dùng với hàm nhóm  Câu truy vấn con được dùng với hàm nhóm  Ví dụ minh họa: Hiển thị tên các sách có tiền đặt trước lớn h ơn s ố tiền đặt trước trung bình của thể loại ‘Business’. SELECT Title FROM Titles WHERE Advance > (SELECT AVG(Advance) FROM Titles WHERE Type = 'business') Bài 4 / Slide 17  ©NIIT   Hàm và truy vấn dữ  
  18. Lưu kết quả câu truy vấn vào bảng  Kết quả của câu truy vấn có thể được lưu vào bảng bằng mệnh đề SELECT … INTO  Ví dụ minh họa: Hãy viết câu truy vấn lưu thông tin các ứng viên bên ngoài trong tháng 5 năm 2006 vào bảng tạm có tên là TempExternalCandidate SELECT * INTO tempExternalCandidate FROM ExternalCandidate WHERE DATEPART(mm,dDateOfApplication)= 5 AND DATEPART(yyyy,dDateOfApplication)= 2001 Bài 4 / Slide 18  ©NIIT   Hàm và truy vấn dữ  
  19. Tóm tắt Trong bài này bạn đã học:  Cách dùng hàm xử lý chuỗi trong câu truy vấn  Cách dùng hàm xử lý thời gian trong câu truy vấn  Cách dùng hàm xử lý toán học trong câu truy vấn  Sử dụng các kiểu kết nối inner join  Sử dụng các kiểu kết nối outter join  Sử dụng các kiểu kết nối self join  Sử dụng câu truy vấn con  Sử dụng câu truy vấn con với mệnh đề IN  Sử dụng câu truy vấn con với mệnh đề EXITS  Sử dụng câu truy vấn con với hàm nhóm  Lưu kết quả câu truy vấn vào bảng tạm Bài 4 / Slide 19  ©NIIT   Hàm và truy vấn dữ  
  20. Bài tập Bài 1: Viết câu truy vấn hiển thị tên, mô tả và đánh giá cho tất cả các đồ chơi trẻ em, tuy nhiên chỉ hiển thị 40 ký tự đầu tiên của phần mô tả. Bài 2: Viết câu truy vấn hiển thị các thông tin về trình trạng giao hàng theo m ẩu sau: Bài 3: Viết câu truy vấn hiển thị thông tin về hóa đơn có mã là 00009 theo mẩu sau: Bài 4 / Slide 20  ©NIIT   Hàm và truy vấn dữ  
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2