Beruflich Dokumente
Kultur Dokumente
Objectives
In this lesson, you will learn to: Identify the features of client/server architecture Identify the input requirements for a query Plan and create a format for the query output Identify and use sources of data for a query Identify and use different types of queries
1 of 50
Querying Databases
Getting Started
Client/Server Architecture In this architecture, the functionality of the application is split between two processes: the client process and the server process
The client process handles the data input and the user interface issues
The server process performs all validations on the data
2 of 50
Querying Databases
Getting Started (Contd.)
Benefits of the two-tier model (Client/Server) model are: Data Sharing: Data is separated from the client side and is stored at a central location where all users have access to the data.
Reduces duplication and maintenance: Since data is stored centrally, data maintenance is easy. There is no duplication of data and therefore no inconsistency in the data stored.
3 of 50
Querying Databases
Getting Started (Contd.)
Features of MS SQL Server Microsoft SQL Server provides various features to manage data. Some of the features offered by Microsoft SQL Server are:
Web-Enabled
Scalable and Reliable Fastest Time-to-Market
4 of 50
Querying Databases
Getting Started (Contd.)
Structured Query Language SQL Server provides the Structured Query Language (SQL) to access data objects from the server MS-SQL Server has added more features to the base-level syntax of SQL and has its own SQL called Transact-SQL (T-SQL) Datatypes in SQL Server
SQL Server can store various types of data like char, money, int, or datetime
5 of 50
Querying Databases
1.D.1 Displaying Specific Attributes From a Table
The details regarding recruitment are stored in the RECRUITMENT database on the local SQL server. These tables contain data on candidates, their qualifications and contact details, the vacancies available, and other information required by the recruitment agency. A report containing the name, city, and telephone number of all the external candidates is required.
6 of 50
Querying Databases
Task List
Create a format for the query output Draft the query Execute the query Verify that the query output is as per the required results
7 of 50
Querying Databases
Create a format for the query output
Result: The output required from the query is the specific details of all the external candidates The column headings required in the report are the name, city, and telephone number of the external candidates The format of the report is as follows:
vFirstName vLastName cCity cPhone
8 of 50
Querying Databases
Draft the query
The SELECT Statement Enables you to access and retrieve data from a database Syntax: SELECT [ALL | DISTINCT] select_column_list [INTO [new_table_name]] [FROM {table_name | view_name} [(optimizer_hints)][[, {table_name2 | view_name2}[(optimizer_hints)] [WHERE clause] [GROUP BY clause][HAVING clause] [ORDER BY clause][COMPUTE clause] [FOR BROWSE]
9 of 50
Querying Databases
Draft the query (Contd.) Using Literals
The result set of a data query statement can be made more readable by including a string called a literal in the SELECT list
Literals are enclosed in single quotes and get printed exactly as they are written in the SELECT list
10 of 50
Querying Databases
Draft the query (Contd.)
Result: The information is available in the Recruitment database The information available in the table ExternalCandidate is required The specific attributes required from the ExternalCandidate table are vFirstName, vLastName, cCity, and cPhone
11 of 50
Querying Databases
Execute the query
Action: Connect to the server Connect to the database
Method 1: Choose the database (RECRUITMENT) from the SQL Query Analyzer database drop-down list Method 2: In the Query Analyzer window, type: USE RECRUITMENT
12 of 50
Querying Databases
Execute the query (Contd.)
In the Query Analyzer window, type: SELECT vFirstName, vLastName, cCity, cPhone FROM ExternalCandidate Execute the query
Click the Execute option from the Query menu on the menu bar
or
Querying Databases
Verify that the query output is as per the required results
Check whether: The required columns are displayed
14 of 50
Querying Databases
Just a Minute
In Tebisco, there is a review by senior management on manpower. You need to write a query to display a list of the budgeted and the actual people available for various roles from the Recruitment database.
15 of 50
Querying Databases
1.D.2 Displaying Specific Columns With User-Friendly Column Headings
The percentage charge of contract recruiters for hiring candidates is under review. The names of the contract recruiters and their hire charges are required. The report should contain user-friendly column headings as specified in the following format:
Recruiter Name Hire Charge
16 of 50
Querying Databases
Task List
Draft the query Execute the query Verify that the query output is as per the required results
17 of 50
Querying Databases
Draft the query
Displaying Columns With User-Defined Headings Syntax
18 of 50
Querying Databases
Draft the query (Contd.)
Result: The information is available in the table ContractRecruiter The columns required are cName, siPercentageCharge with the column headings 'Recruiter Name' and 'Hire Charge' from the table
19 of 50
Querying Databases
Execute the query
Action: In the Query Analyzer window, type: SELECT 'Recruiter Name' = cName, 'Hire Charge' = siPercentageCharge FROM ContractRecruiter Execute the query
20 of 50
Querying Databases
Verify that the query output is as per the required results
Check whether: The required columns are displayed The required column headings are displayed
21 of 50
Querying Databases
1.D.3 Displaying Selected Rows From a Table
Campus recruitment by Tebisco needs to be conducted in the state of California. Therefore, details of all colleges in the state of California are required.
22 of 50
Querying Databases
Task List
Create a format for the query output Draft the query Execute the query Verify that the query output is as per the required results
23 of 50
Querying Databases
Create a format for the query output
Result: The output required is the details of all colleges in the state of California The format of the report is shown below:
cCollegeCode
cCollegeName
vCollegeAddress
cCity
cState
cZip
cPhone
24 of 50
Querying Databases
Draft the query
The SELECTWHERE Statement Retrieves and displays data with a specific condition Syntax SELECT column_list FROM table_name WHERE search_condition
25 of 50
Querying Databases
Draft the query (Contd.)
Result:
The information is available in the College table The column headings are the attribute names of the College table The condition is that the state is California, that is, cState=California Therefore, the query using the SELECT statement should be: SELECT * FROM College WHERE cState = 'California'
26 of 50
Querying Databases
Execute the query
Action: In the Query Analyzer window, type the query. Execute the query
27 of 50
Querying Databases
Verify that the query output is as per the required results
Check whether: All columns are displayed Only rows in which the value of the cState attribute is California are displayed
28 of 50
Querying Databases
Just a Minute
The hiring charges of contract recruiters (charging more than 8 percent of the annual salary as their percentage) are under review. The names, addresses, and the hiring charges of these contract recruiters are required. Write a query to display the required information.
29 of 50
Querying Databases
Arithmetic Operators
SQL Server supports operators that perform arithmetic operations such as addition, subtraction, division, and multiplication on numeric columns
The arithmetic operators supported by SQL Server are: + (for Addition) - (for Subtraction)
/ (for Division)
* (for Multiplication) % (for Modulo)
30 of 50
Querying Databases
Arithmetic Operators (Contd.)
Some rules regarding the use of arithmetic operators are:
Arithmetic operations can be performed on numeric columns or numeric constants
The Modulo (%) operator cannot be used with columns of money, smallmoney, float, or real datatypes
31 of 50
Querying Databases
Arithmetic Operators (Contd.)
Operator Precedence
When multiple arithmetic operators are used in a single query, the processing of the operation takes place according to the precedence of arithmetic operators The precedence level of arithmetic operators in an expression is multiplication (*), division (/), modulo (%) followed by subtraction (-) and addition (+)
The precedence of the operators can be changed by using the primary grouping object called parentheses (())
32 of 50
Querying Databases
Search Based on Conditions
SQL Server provides a few methods for searching rows in a table. These methods can be broadly categorized as follows: Logical operators Comparison operators Range operators List operators
33 of 50
Querying Databases
1.D.4. Displaying Rows That Satisfy Multiple Conditions
Candidates who have scored marks between 80 and 100 in a test need to be called for an interview. Therefore, a report displaying the names of candidates and their scores is required
34 of 50
Querying Databases
Task List
Create a format for the query output Draft the query Execute the query Verify that the query output is as per the required results
35 of 50
Querying Databases
Create a format for the query output
Result: The output requirements for the report are the names and the test scores of only those candidates who have scored marks between 80 and 100 in a test
36 of 50
Querying Databases
Draft the query
Logical Operator - Multiple search conditions can be combined by using the following logical operators: ORreturns the result when any of the specified search conditions is true ANDreturns the result when all the specified search conditions are true NOT neutralizes the expression that follows it When more than one logical operator is combined in the WHERE clause, the order of precedence is NOT, AND, and OR Parentheses can be used to change the logical order of precedence
37 of 50
Querying Databases
Draft the query (Contd.)
Syntax SELECT column_list FROM table_name WHERE conditional_expression{AND/OR}[NOT] conditional_expression
38 of 50
Querying Databases
Draft the query (Contd.)
Result:
The condition to be satisfied is that the test score should be greater than or equal to 80 (siTestScore >= 80) and less than or equal to 100 (siTestScore <= 100)
Therefore, the query using the SELECT statement should be: SELECT vFirstName, vLastName, siTestScore FROM ExternalCandidate WHERE siTestScore >= 80 AND siTestScore <= 100 39 of 50
Querying Databases
Execute the query
Action: In the Query Analyzer window, type the query Execute the query
40 of 50
Querying Databases
Verify that the query output is as per the required results
Check whether: The required columns are displayed All the rows displayed have values of siTestScore between 80 and 100
41 of 50
Querying Databases
More on Operators
Apart from logical operators, SQL Server also supports the following operators: Comparison Operators Range Operators List Operators
42 of 50
Querying Databases
More on Operators (Contd.)
Comparison Operators Comparison operators allow row retrieval from a table based on the condition specified in the WHERE clause Syntax
43 of 50
Querying Databases
More on Operators (Contd.)
Range Operators The range operator is used to retrieve data that can be extracted in ranges. The range operators are:
Syntax SELECT column_list FROM table_name WHERE expression1 range_operator expression2 AND expression3
44 of 50
Querying Databases
More on Operators (Contd.)
List Operators The IN operator allows the selection of values that match any one of the values in a list The NOT IN operator restricts the selection of values that match any one of the values in a list Syntax SELECT column_list FROM table_name
45 of 50
Querying Databases
Just a Minute
In order to identify the successful candidates, who took the test between March 5, 2001 and March 12, 2001, a report displaying the names of candidates and their scores needs to be created. The format of the report is as follows:
vFirstName vLastName siTestScore dTestDate
46 of 50
Querying Databases
Summary
In this lesson, you learned that: A database management system consists of a Server, a database (or multiple databases) with tables containing data, and a client (front-end) that helps a user interact with the server to retrieve data. The language provided by SQL Server to access data from a database is known as Structured Query Language (SQL). Microsoft SQL Server provides a customized implementation of SQL called T-SQL.
47 of 50
Querying Databases
Summary (Contd.)
SQL Server provides a SELECT statement to access and retrieve data from a database. The SELECT statement queries the server to prepare a result and return it to the client application. The SELECT statement can be used to retrieve specific column(s) from the table by specifying the column names from the table. The SELECT statement along with the asterisk (*) symbol produces the result that contains the details of all the columns in the table.
48 of 50
Querying Databases
Summary (Contd.)
The order of the columns can be changed in the result set of the SELECT statement by specifying the individual column names separated by a comma. SQL Server provides two methods for specifying the column heading. In the first method, the column heading is specified before the column name whereas in the second method, the column name is specified before the column heading. The WHERE clause is provided by SQL Server to specify the condition to retrieve specific data.
The result set of the data query statement can be made more readable by including a string called literals in the SELECT list.
49 of 50
Querying Databases
Summary (Contd.)
SQL Server supports operators that perform arithmetic operations like addition, subtraction, division, and multiplication on numeric columns. In a mixed mode arithmetic operation, the lower datatype value gets converted into a higher datatype value according to datatype precedence. SQL Server provides the following set of operators: Logical operators like AND, OR and NOT
Comparison operators like =, >, <, >=, <=, ! =, !< and !>
Range operators like BETWEEN and NOT BETWEEN List operators like IN and NOT IN
50 of 50