SQL Course - QA

1,484 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,484
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

SQL Course - QA

  1. 1. SQL for Software Testing
  2. 2. What is SQL? SQL stands for Structured Query Language SQL lets you access and manipulate databases SQL is an ANSI StandardANSI: American National Standards Institute
  3. 3. Why we use SQL? SQL can execute queries against a database SQL can retrieve data from a database SQL can insert records in a database SQL can update records in a database SQL can delete records from a database SQL can create new databases SQL can create new tables in a database SQL can create stored procedures in a database SQL can create views in a database SQL can set permissions on tables, procedures, and views
  4. 4. What is RDBMS?RDBMS: Relational Database Management System*Software that stores and manipulates data arranged in relational database tables.Common RDBMS that use SQL are: Oracle Sybase Microsoft SQL Server Access
  5. 5. DDLData Definition Language (DDL) statements areused to define the database structure or schema. CREATE - To create objects in the database ALTER - Alters the structure of the database DROP - Delete objects from the database TRUNCATE - Remove all records from a table, including all spaces allocated for the records are removed
  6. 6. DMLData Manipulation Language (DML) statementsare used for managing data within schemaobjects. SELECT - retrieve data from the a database INSERT - insert data into a table UPDATE - updates existing data within a table DELETE - deletes all records from a table, the space for the records remain
  7. 7. SQL Arithmetic OperatorsOperator Description Example+ Addition - Adds values on either side a+b of the operator- Subtraction - Subtracts right hand a–b operand from left hand operand* Multiplication - Multiplies values on a*b either side of the operator/ Division - Divides left hand operand by b / a right hand operand% Modulus - Divides left hand operand b%a by right hand operand and returns remainder
  8. 8. SQL Comparison OperatorsOperator Description Example= Checks if the value of two operands are equal or not, if yes then (a = b) is not true. condition becomes true.!= Checks if the value of two operands are equal or not, if values are not (a != b) is true. equal then condition becomes true.<> Checks if the value of two operands are equal or not, if values are not (a <> b) is true. equal then condition becomes true.> Checks if the value of left operand is greater than the value of right (a > b) is not true. operand, if yes then condition becomes true.< Checks if the value of left operand is less than the value of right (a < b) is true. operand, if yes then condition becomes true.>= Checks if the value of left operand is greater than or equal to the value (a >= b) is not true. of right operand, if yes then condition becomes true.<= Checks if the value of left operand is less than or equal to the value of (a <= b) is true. right operand, if yes then condition becomes true.!< Checks if the value of left operand is not less than the value of right (a !< b) is false. operand, if yes then condition becomes true.!> Checks if the value of left operand is not greater than the value of right (a !> b) is true. operand, if yes then condition becomes true.
  9. 9. SQL Logical Operators Operator DescriptionAND The AND operator allows the existence of multiple conditions in an SQL statements WHERE clause.BETWEEN The BETWEEN operator is used to search for values that are within a set of values, given the minimum value and the maximum value.IN The IN operator is used to compare a value to a list of literal values that have been specified.LIKE The LIKE operator is used to compare a value to similar values using wildcard operators.NOT The NOT operator reverses the meaning of the logical operator with which it is used. Eg. NOT EXISTS, NOT BETWEEN, NOT IN etc. This is negate operator.OR The OR operator is used to combine multiple conditions in an SQL statements WHERE clause.IS NULL The NULL operator is used to retrieve NULL values
  10. 10. What is a Table?Table – A set of data arranged in columns and rows. The columns representcharacteristics of stored data and the rows represent actual data entries.In the below table called “employee_table” we see that the columns are:First_Name, Last_Name, Email, DOB and Phone and rows are the data.employee_tableFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888
  11. 11. Select Statement First_Name Last_Name Email DOB Phone John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222 Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545 Paula Brown pb@hotmail.com 5/24/1978 777 323-3232 James Smith jim@ymail.com 20/10/1980 666 323-8888 Select * from employee_table- All the columns in the employee_table are retrieved. Select First_Name, Last_Name from employee_table- Only First_Name and Last_Name columns in the employee_table are retrieved.
  12. 12. Distinct Statement First_Name Last_Name Email DOB Phone John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222 Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545 Paula Brown pb@hotmail.com 5/24/1978 777 323-3232 James Smith jim@ymail.com 20/10/1980 666 323-8888 Select Distinct Last_Name from employee_table LastName Smith Goldfish Brown
  13. 13. Where Statement First_Name Last_Name Email DOB Phone John Smith John.Smith@yahoo.com 2/4/1968 777 222-2222 Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545 Paula Brown pb@hotmail.com 5/24/1978 777 323-8888 James Smith jim@ymail.com 20/10/1980 666 323-8888 Select * from employee_table where Last_Name= “Smith” John.Smith@yahoo.co John Smith 2/4/1968 222 222-2222 m James Smith jim@ymail.com 20/10/1980 666 323-8888
  14. 14. Where Statement Examples:<>, >, >=, <, =<, Like, Wildcard and Between SELECT * SELECT * FROM employee_table FROM employee_table WHERE Last_Name <> Smith WHERE DOB =< ‘20/10/1980 SELECT * SELECT * FROM employee_table FROM employee_table WHERE DOB > ‘20/10/1980 WHERE Phone LIKE ’777%’ SELECT * SELECT * FROM employee_table FROM employee_table WHERE DOB >= ‘20/10/1980 WHERE DOB BETWEEN ‘20/10/1980 AND ‘20/10/1990 SELECT * FROM employee_table WHERE DOB < ‘20/10/1980
  15. 15. Update StatementFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888  UPDATE employee_table SET DOB = 5/10/1974 WHERE Last_Name = Goldfish AND First_Name = Steven’  UPDATE employee_table SET Phone = 626 555-5555 WHERE Last_Name = Smith
  16. 16. Delete StatementFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888  DELETE FROM employee_table  DELETE FROM employee_table WHERE Last_Name = Smith
  17. 17. IN Statement SELECT * FROM Employee_Hours WHERE Date IN (5/6/2004, 5/7/2004) SELECT * FROM Employee_Hours WHERE Hours IN (‘9’, ’10’)
  18. 18. Not IN Statement SELECT * FROM Employee_Hours WHERE Date NOT IN (5/6/2004, 5/7/2004) SELECT * FROM Employee_Hours WHERE Hours NOT IN (‘9’, ’10’)
  19. 19. AND/ OR OperatorFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888  SELECT * FROM Employee_table WHERE First_Name = ‘’John ’’ and Last_Name = ‘’ Smith’’  SELECT * FROM Employee_table WHERE First_Name= ‘’Paula’’ or First_Name= ‘’James’’
  20. 20. TOP StatementFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888  SELECT TOP 10 * FROM Employee_table  SELECT TOP 200 * FROM Employee_table
  21. 21. Insert Into Statement  INSERT INTO employee_table (FirstName, LastName, Email, DOB, Phone) VALUES (Peter, Hunt, peter.hunt@gmail.com, 1/1/1974, 626 888-8888’)First_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888  INSERT INTO employee_table VALUES (Peter, Hunt, peter.hunt@gmail.com, 1/1/1974, 626 888-8888)  INSERT INTO employee_table (FirstName, LastName) VALUES (Peter, Hunt)
  22. 22. Select Into Statement  SELECT FirstName, LastName INTO employee_table_name_backup FROM employee_tableFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888  SELECT * INTO employee_table_copy FROM employee_table
  23. 23. Count StatementFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888  SELECT COUNT(*) FROM employee_table  SELECT COUNT (First_Name) FROM employee_table
  24. 24. As StatementFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888  SELECT Last_Name AS “EMP_LNAME”, Phone AS “Emergency_Contact” FROM employee_table  SELECT COUNT (First_Name) AS “Number_of_employees” FROM employee_table
  25. 25. Order By StatementFirst_Name Last_Name Email DOB PhoneJohn Smith John.Smith@yahoo.com 2/4/1968 222 222-2222Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545Paula Brown pb@hotmail.com 5/24/1978 777 323-3232James Smith jim@ymail.com 20/10/1980 666 323-8888Peter Hunt peter.hunt@gmail.com 1/1/1974 626 888-8888  SELECT * FROM employee_table ORDER BY DOB  SELECT * FROM employee_table ORDER BY DOB DESC  SELECT * FROM employee_table ORDER BY DOB ASC  SELECT * FROM employee_table ORDER BY DOB, Last_Name
  26. 26. MAX Function SELECT MAX(SaleAmount) As MAX_Sales FROM Sales
  27. 27. MIN Function SELECT Min(SaleAmount) As MIN_Sales FROM Sales
  28. 28. AVG Function SELECT AVG(SaleAmount) As AVG_Sales FROM Sales
  29. 29. SUM Function SELECT SUM(SaleAmount) As Total_Sales FROM Sales
  30. 30. Group By Statement Select Employee, SUM(Hours) As Total_Hours from Time_Table Group By Employee
  31. 31. Having Statement Select Employee, SUM(Hours) As Total_Hours from Time_Table Group By Employee Having SUM(Hours) >24
  32. 32. SQL AliasCustomerID First_Name Email DOB Phone1 Smith John.Smith@yahoo.com 2/4/1968 222 222-22222 Goldfish goldfish@gmail.com 4/4/1974 999 455-45453 Brown pb@hotmail.com 5/24/1978 777 323-32324 Kapil jim@ymail.com 20/10/1980 666 323-88885 Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888
  33. 33. SQL Alias (Contd.) Select a.First_Name, b.SaleAmount From Customer a, Sales b Where a.CustomerID=b.CustomerID Select a.Email, a.DOB, a.Phone, b.Date, b.SaleAmount From Customer a, Sales b Where a.CustomerID=b.CustomerID Select a.First_Name, SUM(b.SaleAmount) AS TOTALSALES From Customer a, Sales b Where a.CustomerID=b.CustomerID Group By a.First_Name
  34. 34. SQL Constraints NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT
  35. 35. PK & UK DifferencesPrimary Key:1. It will not accept null values.
2. There will be only one primary key in atable.
3. Clustered index is created in Primary key.
4. Primary key allows eachrow in a table to be uniquely identified and ensures that no duplicate rowsexist.Unique Key:
1. Null values are accepted.
2. More than one unique key willbe there in a table.
3. Non-Clustered index is created in unique key.
4. Uniquekey constraint is used to prevent the duplication of key values within the rows ofa table and allow null values.
  36. 36. INNER JOINTable A Table B
  37. 37. FULL OUTER JOINTable A Table B
  38. 38. FULL OUTER JOIN - CaseTable A Table B
  39. 39. LEFT OUTER JOINTable A Table B
  40. 40. LEFT OUTER JOIN - CaseTable A Table B
  41. 41. CROSS JOIN/ Cartesian ProductTable A Table B

×