1. Lời giới thiệu Transact - SQL của Microsoft là nền tảng chính cho tất cả các hệ cơ sở dữ liệu SQL Server bất chấp sự các công cụ phát triển đang được sử dụng. Câu lệnh SELECT xuất hiện rất đơn giản nhưng trên thực tế nó đem lại sức mạnh to lớn trong việc giải quyết các vấn đề khó khăn trong doanh nghiệp. Để nâng cao khả năng sử dụng của nó, các nhà phát triển cần phải biết cách tạo các truy vấn nâng cao như thế nào. Trong khóa học này, các học viên sẽ học được cách khai thác mạnh mẽ khả năng tiềm tàng của câu lệnh SELECT để viết ra những truy vấn mạnh mẽ sử dụng phương pháp truy vấn tốt nhất cho ứng dụng thực tế, kiểm tra các truy vấn và tránh được các lỗi thông thường và những cạm bẫy.. 2. Đối tượng Khóa học này rất phù hợp cho những người đang phát triển hệ thống có sử dụng cơ sở dữ liệu SQL Server.. 3. Yêu cầu trước khi tham gia khoá học Để hoàn thành tốt khoá học, học viên cần phải: - Có kiến thức về SQL Server 2000
- Có kiến thức về quan hệ dữ liệu
4. Các kỹ năng thu được Sau khi hoàn thành khoá học, học viên có thể: - Phát triển các truy vấn mạnh mẽ và phức tạp sử dụng SQL Server 7.0 và SQL Server 2000
- Truy vấn nhiều bảng có sử dụng inner joints, outer joints và set joints
- Chuyển đổi dữ liệu với các chức năng được xây dựng
- Tổng quan dữ liệu sử dụng tập hợp và nhóm dữ liệu
- Xây dựng các truy vấn con liên quan đơn giản và tương quan với nhau
- Xác định các giải pháp SQL một cách có hiệu quả nhất cho các yêu cầu ứng dụng
- Giải quyết các vấn đề kinh doan thực một cách có hiệu quả với Transact - SQL
5. Thời lượng: 30 giờ Nội dung khóa học INTRODUCTION AND OVERVIEW SQL fundamentals - Retrieving data with SELECT
- Expressions
- Literals
- Handling NULLs properly
Executing queries - Analyzing query plans
- Enhancing query performance
- Testing queries
- Selecting the best alternatives
- Avoiding errors and pitfalls
QUERYING MULTIPLE TABLES Implementing various types of joins - Inner joins
- Cross joins
- Left, right and full outer joins
- Equijoins vs. theta joins
- The performance implications of joins
Writing self joins - Joining a table to itself
- Chaining self joins
Combining queries with UNION - Eliminating duplicate results
- UNION ALL
SCALAR AND AGGREGATE FUNCTIONS Taking advantage of built-in functions - Converting datatypes
- Handling dates
- Manipulating strings
- Choosing the right function for the job
Summarizing data with aggregate functions - COUNT
- SUM
- AVG
- MIN
- MAX
- Managing NULLs
- Suppressing duplicates
Grouping data - GROUP BY vs. GROUP BY ALL
- Applying conditions with HAVING
- Nesting grouped aggregates
- Joins and grouping
- Introducing subtotals with CUBE and ROLLUP
BUILDING SUBQUERIES Simple subqueries - Subqueries in conditions and column expressions
- Creating multilevel subqueries
- Avoiding problems when subqueries return NULLs
- Handling multirow subquery results
Correlated subqueries - Accessing values from the outer query
- EXISTS vs. IN
- Avoiding accidental correlation
DECOMPOSING QUERIES INTO MANAGEABLE PIECES The objectives of decomposition - Creating reusable code
- Improving modularity
- Working around SQL limitations
Alternative strategies - Derived tables
- Views
- Temporary tables
- Table variables
- Table-valued user-defined functions
Selecting the best decomposition technique - Choosing a strategy that avoids performance problems
- Substituting table-valued functions for views
MEETING BUSINESS REQUIREMENTS WITH SQL - Traversing hierarchies
- Pivoting tables
- Ranking results
- Calculating moving averages
- Solving time-interval problems
- Finding gaps
- Identifying duplicates
|