UNIT 1 BCA II SEM Prepared By: Ms. Sushma Malik
SYLLABUS  UNIT – II  Introduction to Query Language, QBE (Query by Example), NoSQL, MongoDB  Introduction to SQL: Overview, Characteristics of SQL. Advantage of SQL, SQL data types and literals.  Types of SQL commands: DDL, DML, DCL. Basic SQL Queries.  Logical operators: BETWEEN, IN, AND, OR and NOT  Null Values: Disallowing Null Values, Comparisons Using Null Values  Integrity constraints: Primary Key, Not NULL, Unique, Check, Referential key  Introduction to Nested Queries, Correlated Nested Queries, Set- Comparison Operators, Aggregate Operators: The GROUP BY and HAVING Clauses,  Joins: Inner joins, Outer Joins, Left outer, Right outer, full outer joins.  Overview of views and indexes. Prepared By: Ms. Sushma Malik
INTRODUCTION TO SQL  SQL stands for Structured Query Language. It is used for storing and managing data in relational database management system (RDMS).  It is a standard language for Relational Database System. It enables a user to create, read, update and delete relational databases and tables.  All the RDBMS like MySQL, Informix, Oracle, MS Access and SQL Server use SQL as their standard database language.  SQL allows users to query the database in a number of ways, using English-like statements. Prepared By: Ms. Sushma Malik
INTRODUCTION TO SQL Prepared By: Ms. Sushma Malik
CHARACTERISTICS OF SQL  SQL is easy to learn.  SQL is used to access data from relational database management systems.  SQL can execute queries against the database.  SQL is used to describe the data.  SQL is used to define the data in the database and manipulate it when needed.  SQL is used to create and drop the database and table.  SQL is used to create a view, stored procedure, function in a database.  SQL allows users to set permissions on tables, procedures, and views. Prepared By: Ms. Sushma Malik
ADVANTAGE OF SQL  High speed  Using the SQL queries, the user can quickly and efficiently retrieve a large amount of records from a database.  No coding needed  In the standard SQL, it is very easy to manage the database system. It doesn't require a substantial amount of code to manage the database system.  Well defined standards  Long established are used by the SQL databases that are being used by ISO and ANSI. Prepared By: Ms. Sushma Malik
ADVANTAGE OF SQL  Portability  SQL can be used in laptop, PCs, server and even some mobile phones.  Interactive language  SQL is a domain language used to communicate with the database. It is also used to receive answers to the complex questions in seconds.  Multiple data view  Using the SQL language, the users can make different views of the database structure. Prepared By: Ms. Sushma Malik
SQL DATA TYPES AND LITERALS  Every field or column in a table is given a data type when a table is defined. These data types describe the kind of information which can be stored in a column.  In SQL, this is done by assigning each field a data type that indicates the kind of values the field will contain. All the values in a given field must be of the same type.  There are commonly five types of data type in SQL: i. CHAR ii. VARCHAR iii. NUMBER iv. DATE v. LONG Prepared By: Ms. Sushma Malik
SQL DATA TYPES AND LITERALS Prepared By: Ms. Sushma Malik
SQL DATA TYPES  CHAR:  A column defined with a CHAR data type is allowed to store all types of characters which include letters both uppercase and lowercase letters, such as – A, B, …, Z and a, b, …, z and special characters like @, #, &, $, etc.  VARCHAR (size)  It is similar to CHAR but it can store variable sized strings having a maximum length determined by ‘size’. The maximum value the ‘size’ can have is 2000 characters. Prepared By: Ms. Sushma Malik
SQL DATA TYPES  NUMBER:  It is used to store variable-length numeric data.  DATE:  This type of data is used to store date and time information. The default format is DD-MM-YY.  LONG:  This data type stores variable-length character strings containing up to 2 gigabytes size. But LONG data type has some following limitations: Prepared By: Ms. Sushma Malik
LITERALS  Literals are the notations or idea to represent/express a non-changing value. In MySQL, literals are similar to the constant. We can use a literal while declaring a variable or executing the queries.  String Literal  The string in MySQL is a sequence of characters or bytes that are enclosed in single quotes (') or double quotes ("). For example, 'first string' and "second string" both are the same.  Numeric literals in MySQL  are used to specify the two types of literal values: the exact-value (integer and decimal), and the approximate value (floating-point) literals. It can be positive or negative values. Prepared By: Ms. Sushma Malik
Number Literals Descriptions Integer It is represented as a sequence of digits without any fractional parts. If the number preceded by - sign, it is a negative integer. If the number is preceded by + sign, it is a positive integer. If the number does not have any sign, it assumes a positive integer. For example, 55, +55, -55 are all integer numbers. Decimal It is represented as a sequence of digits with fractional parts. In other words, it contains a whole number plus fractional part, which is separated by dot(.) operator or decimal point. It can be integer and non-integer both. It produces the calculation in exact numeric form. For example, 325.90, 355.6 are decimal numbers. Floating- Point It is a number that contains a floating decimal point. It means there are no fixed digits before and after the decimal point. It contains two kinds of data types named float and double that produce an approximate value. For example, 2.36E0, 0.005, and -2,328.679 are all floating- point numbers. Prepared By: Ms. Sushma Malik
TYPES OF SQL COMMANDS  SQL commands are instructions. It is used to communicate with the database. It is also used to perform specific tasks, functions, and queries of data.  SQL can perform various tasks like create a table, add data to tables, drop the table, modify the table, set permission for users.  Types of SQL Commands  There are five types of SQL commands: DDL, DML, DCL, TCL, and DQL. Prepared By: Ms. Sushma Malik
TYPES OF SQL COMMANDS Prepared By: Ms. Sushma Malik
DATA DEFINITION LANGUAGE (DDL)  DDL changes the structure of the table like creating a table, deleting a table, altering a table, etc.  All the command of DDL are auto-committed that means it permanently save all the changes in the database.  Here are some commands that come under DDL:  CREATE  ALTER  DROP  TRUNCATE Prepared By: Ms. Sushma Malik
DATA DEFINITION LANGUAGE (DDL)  CREATE It is used to create a new table in the database.  Syntax:  CREATE TABLE TABLE_NAME (COLUMN_NAME DATAT YPES[,....]);  Example:  CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);  DROP: It is used to delete both the structure and record stored in the table.  Syntax  DROP TABLE table_name;  Example  DROP TABLE EMPLOYEE; Prepared By: Ms. Sushma Malik
DATA DEFINITION LANGUAGE (DDL)  ALTER: It is used to alter the structure of the database. This change could be either to modify the characteristics of an existing attribute or probably to add a new attribute.  Syntax:  To add a new column in the table  ALTER TABLE table_name ADD column_name COLUMN- definition;  To modify existing column in the table:  ALTER TABLE table_name MODIFY(column_definitions....);  EXAMPLE  ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));  ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20)); Prepared By: Ms. Sushma Malik
DATA DEFINITION LANGUAGE (DDL)  TRUNCATE: It is used to delete all the rows from the table and free the space containing the table.  Syntax:  TRUNCATE TABLE table_name;  Example:  TRUNCATE TABLE EMPLOYEE; Prepared By: Ms. Sushma Malik
DATA MANIPULATION LANGUAGE  DML commands are used to modify the database. It is responsible for all form of changes in the database.  The command of DML is not auto-committed that means it can't permanently save all the changes in the database. They can be rollback.  Here are some commands that come under DML:  INSERT  UPDATE  DELETE Prepared By: Ms. Sushma Malik
DATA MANIPULATION LANGUAGE  INSERT: The INSERT statement is a SQL query. It is used to insert data into the row of a table.  Syntax:  INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN);  Or  INSERT INTO TABLE_NAME  VALUES (value1, value2, value3, .... valueN); Prepared By: Ms. Sushma Malik
DATA MANIPULATION LANGUAGE  UPDATE: This command is used to update or modify the value of a column in the table.  Syntax:  UPDATE table_name SET [column_name1= value1,...co lumn_nameN = valueN] [WHERE CONDITION]  For example: UPDATE students SET User_Name = 'Sonoo' WHERE Student_Id = '3' Prepared By: Ms. Sushma Malik
DATA MANIPULATION LANGUAGE  DELETE: It is used to remove one or more row from a table.  Syntax:  DELETE FROM table_name [WHERE condition]; For example: DELETE FROM javatpoint WHERE Author="Sonoo"; Prepared By: Ms. Sushma Malik
DATA CONTROL LANGUAGE  DCL commands are used to grant and take back authority from any database user.  Here are some commands that come under DCL:  Grant  Revoke Prepared By: Ms. Sushma Malik
DATA CONTROL LANGUAGE  Grant: It is used to give user access privileges to a database.  Example  GRANT SELECT, UPDATE ON MY_TABLE TO SOME _USER, ANOTHER_USER;  Revoke: It is used to take back permissions from the user.  Example  REVOKE SELECT, UPDATE ON MY_TABLE FROM US ER1, USER2; Prepared By: Ms. Sushma Malik
TRANSACTION CONTROL LANGUAGE  TCL commands can only use with DML commands like INSERT, DELETE and UPDATE only.  These operations are automatically committed in the database that's why they cannot be used while creating tables or dropping them.  Here are some commands that come under TCL:  COMMIT  ROLLBACK  SAVEPOINT Prepared By: Ms. Sushma Malik
TRANSACTION CONTROL LANGUAGE  Commit: Commit command is used to save all the transactions to the database.  Syntax:  COMMIT;  Example:  DELETE FROM CUSTOMERS  WHERE AGE = 25;  COMMIT;  Rollback: Rollback command is used to undo transactions that have not already been saved to the database.  Syntax:  ROLLBACK;  Example:  DELETE FROM CUSTOMERS  WHERE AGE = 25;  ROLLBACK;  SAVEPOINT: It is used to roll the transaction back to a certain point without rolling back the entire transaction.  Syntax:  SAVEPOINT SAVEPOINT_NAME; Prepared By: Ms. Sushma Malik
DATA QUERY LANGUAGE  DQL is used to fetch the data from the database.  It uses only one command:  SELECT: This is the same as the projection operation of relational algebra. It is used to select the attribute based on the condition described by WHERE clause.  Syntax:  SELECT expressions  FROM TABLES  WHERE conditions;  For example:  SELECT emp_name  FROM employee  WHERE age > 20; Prepared By: Ms. Sushma Malik
SQL OPERATOR Prepared By: Ms. Sushma Malik
SQL ARITHMETIC OPERATORS Operato r Description Example + It adds the value of both operands. a+b will give 30 - It is used to subtract the right-hand operand from the left-hand operand. a-b will give 10 * It is used to multiply the value of both operands. a*b will give 200 / It is used to divide the left-hand operand by the right-hand operand. a/b will give 2 % It is used to divide the left-hand operand by the right-hand operand and returns reminder. a%b will give 0 Prepared By: Ms. Sushma Malik
SQL COMPARISON OPERATORS: Operator Description Example = It checks if two operands values are equal or not, if the values are queal then condition becomes true. (a=b) is not true != It checks if two operands values are equal or not, if values are not equal, then condition becomes true. (a!=b) is true <> It checks if two operands values are equal or not, if values are not equal then condition becomes true. (a<>b) is true > It checks if the left operand value is greater than right operand value, if yes then condition becomes true. (a>b) is not true < It checks if the left operand value is less than right operand value, if yes then condition becomes true. (a<b) is true >= It checks if the left operand value is greater than or equal to the right operand value, if yes then condition becomes true. (a>=b) is not true <= It checks if the left operand value is less than or equal to the right operand value, if yes then condition becomes true. (a<=b) is true Prepared By: Ms. Sushma Malik
SQL LOGICAL OPERATORS Operator Description ALL It compares a value to all values in another value set. AND It allows the existence of multiple conditions in an SQL statement. ANY It compares the values in the list according to the condition. BETWEEN It is used to search for values that are within a set of values. IN It compares a value to that specified list value. NOT It reverses the meaning of any logical operator. OR It combines multiple conditions in SQL statements. EXISTS It is used to search for the presence of a row in a specified table. LIKE It compares a value to similar values using wildcard operator. Prepared By: Ms. Sushma Malik
SQL Logical Operators  Logical operators are used to specify conditions in the structured query language (SQL) statement. They are also used to serve as conjunctions for multiple conditions in a statement.  The different logical operators are shown below −  ALL − It is used to compare a value with every value in a list or returned by a query. Must be preceded by =, !=, >, < ,<=, or >= evaluates.  For example,  select * from emp where salary>= ALL(1500,4000); Prepared By: Ms. Sushma Malik
SQL Logical Operators  AND − Returns TRUE if both component conditions are TRUE. Returns FALSE if either is FALSE; otherwise returns UNKNOWN.  For example,  select * from emp where job=’manager’ AND deptno=20;  OR − Return TRUE if either component condition is TRUE. Return FALSE if both are FALSE. Otherwise, return UNKNOWN.  For example,  select * from emp where job=’manager’ OR deptno=20; Prepared By: Ms. Sushma Malik
SQL Logical Operators  IN − It is equivalent to any test. Equivalent to = ANY, The In operator is used to compare a value to a list of literal values that have been specified.  For example,  select * from empl081 where salary IN (35000,50000);  NOT − Returns TRUE if the condition is FALSE. Returns FALSE, if it is TRUE. If it is UNKNOWN, it remains UNKNOWN.  For example,  select * from emp where NOT (job is NULL)  select * from emp where NOT(salary between 2000 AND 5000); Prepared By: Ms. Sushma Malik
SQL Logical Operators  BETWEEN − It is used to define range limits.  For example,  If we want to find all employees whose age is in between 40 and 50 the query is as follows  Select * from employee where age between 40 AND 50;  LIKE − It is used to compare values to a list of literal values that are specified. “%” character is used to match any substring and “_” character is used to match any character. It expresses a pattern by using the ‘like’ comparison operator.  For example,  To display all names whose second letter is ‘b’, use the below mentioned command −  select * from emp where ename LIKE ‘_b%’; Prepared By: Ms. Sushma Malik
SQL Logical Operators  To display a person details whose first letter is ‘A’ and third letter is ‘d’, use the command given below −  Select * from emp where ename LIKE ‘A_d_’; Prepared By: Ms. Sushma Malik
NULL Values  The SQL NULL is the term used to represent a missing value. A NULL value in a table is a value in a field that appears to be blank.  A field with a NULL value is a field with no value. It is very important to understand that a NULL value is different than a zero value or a field that contains spaces.  Syntax  The basic syntax of NULL while creating a table.  SQL> CREATE TABLE CUSTOMERS(  ID INT NOT NULL,  NAME VARCHAR (20) NOT NULL,  AGE INT NOT NULL,  ADDRESS CHAR (25) ,  SALARY DECIMAL (18, 2),  PRIMARY KEY (ID)  ); Prepared By: Ms. Sushma Malik
NULL Values  Here, NOT NULL signifies that column should always accept an explicit value of the given data type. There are two columns where we did not use NOT NULL, which means these columns could be NULL.  A field with a NULL value is the one that has been left blank during the record creation. Prepared By: Ms. Sushma Malik
Importance of NULL value:  It is important to understand that a NULL value is different from a zero value.  A NULL value is used to represent a missing value, but that it usually has one of three different interpretations:  The value unknown (value exists but is not known)  Value not available (exists but is purposely withheld)  Attribute not applicable (undefined for this tuple)  It is often not possible to determine which of the meanings is intended. Hence, SQL does not distinguish between the different meanings of NULL. Prepared By: Ms. Sushma Malik
Principles of NULL values:  Setting a NULL value is appropriate when the actual value is unknown, or when a value would not be meaningful.  A NULL value is not equivalent to a value of ZERO if the data type is a number and is not equivalent to spaces if the data type is character.  A NULL value can be inserted into columns of any data type.  A NULL value will evaluate NULL in any expression.  Suppose if any column has a NULL value, then UNIQUE, FOREIGN key, CHECK constraints will ignore by SQL. Prepared By: Ms. Sushma Malik
What is a SQL NULL value?  In terms of the relational database model, a NULL value indicates an unknown value. If we widen this theoretical explanation, the NULL value points to an unknown value but this unknown value does not equivalent to a zero value or a field that contains spaces.  Due to this structure of the NULL values, it is not possible to use traditional comparison (=, <, > and <>) operators in the queries. As a matter of fact, in the SQL Standards using the WHERE clause as the below will lead to return empty result sets. Prepared By: Ms. Sushma Malik
What is a SQL NULL value?  SELECT column_name1, column_name2, column_name3 , ... , column_nameN  FROM table_name  WHERE column_nameN = NULL  For this reason, working with the NULL values might be a bit complicated and are required to use certain built-in fu nctions which are customized for handling NULL values. Prepared By: Ms. Sushma Malik
IS NULL Condition  The IS NULL condition is used to return rows that contain the NULL values in a column and its syntax is like below:  SELECT column_name1, column_name2, column_nam e3, ... , column_nameN  FROM table_name  WHERE column_nameN IS NULL  The IS NOT NULL condition is used to return the row s that contain non-NULL values in a column. Prepared By: Ms. Sushma Malik
INTEGRITY CONSTRAINTS  Constraints in SQL Server are predefined rules and restrictions that are enforced in a single column or multiple columns, regarding the values allowed in the columns, to maintain the integrity, accuracy, and reliability of that column’s data.  In other words, if the inserted data meets the constraint rule, it will be inserted successfully. If the inserted data violates the defined constraint, the insert operation will be aborted.  Constraints in SQL Server can be defined at the column level, where it is specified as part of the column definition and will be applied to that column only, or declared independently at the table level.  In this case, the constraint rules will be applied to more than one column in the specified table. Prepared By: Ms. Sushma Malik
INTEGRITY CONSTRAINTS  The constraint can be created within the CREATE TABLE T- SQL command while creating the table or added using ALTER TABLE T-SQL command after creating the table.  Adding the constraint after creating the table, the existing data will be checked for the constraint rule before creating that constraint.  There are six main constraints that are commonly used in SQL Server  SQL NOT NULL  UNIQUE  PRIMARY KEY  FOREIGN KEY  CHECK  DEFAULT Prepared By: Ms. Sushma Malik
NOT NULL Constraint  By default, a column can hold NULL values. If you do not want a column to have a NULL value, use the NOT NULL constraint.  If we specify a field in a table to be NOT NULL. Then the field will never accept null value.  That is, you will be not allowed to insert a new row in the table without specifying any value to this field.  It restricts a column from having a NULL value.  We use ALTER statement and MODIFY statement to specify this constraint. Prepared By: Ms. Sushma Malik
NOT NULL Constraint Prepared By: Ms. Sushma Malik
UNIQUE Constraint  The UNIQUE constraint in SQL is used to ensure that no duplicate values will be inserted into a specific column or combination of columns that are participating in the UNIQUE constraint and not part of the PRIMARY KEY.  This constraint helps to uniquely identify each row in the table. i.e. for a particular column, all the rows should have unique values.  We can have more than one UNIQUE columns in a table. Prepared By: Ms. Sushma Malik
UNIQUE Constraint  It ensures that a column will only have unique values. A UNIQUE constraint field cannot have any duplicate data.  It prevents two records from having identical values in a column  We use ALTER statement and MODIFY statement to specify this constraint. Prepared By: Ms. Sushma Malik
UNIQUE Constraint Prepared By: Ms. Sushma Malik
Primary Key Constraint  Primary key constraint uniquely identifies each record in a database.  A Primary Key must contain unique value and it must not contain null value.  The PRIMARY KEY constraint consists of one column or multiple columns with values that uniquely identify each row in the table.  The SQL PRIMARY KEY constraint combines between the UNIQUE and SQL NOT NULL constraints, where the column or set of columns that are participating in the PRIMARY KEY cannot accept a NULL value. Prepared By: Ms. Sushma Malik
Primary Key Constraint  The PRIMARY KEY is used mainly to enforce the entity integrity of the table.  Entity integrity ensures that each row in the table is a uniquely identifiable entity.  A table can have only one field as primary key. Prepared By: Ms. Sushma Malik
Primary Key Constraint Vs Unique  PRIMARY KEY constraint differs from the UNIQUE constraint in that; you can create multiple UNIQUE constraints in a table, with the ability to define only one SQL PRIMARY KEY per each table.  Another difference is that the UNIQUE constraint allows for one NULL value, but the PRIMARY KEY does not allow NULL values. Prepared By: Ms. Sushma Malik
Primary Key Constraint Prepared By: Ms. Sushma Malik
FOREIGN KEY  A foreign key is a key used to link two tables together.  Foreign Key is used to relate two tables.  The relationship between the two tables matches the Primary Key in one of the tables with a Foreign Key in the second table.  This is also called a referencing key.  We use ALTER statement and ADD statement to specify this constraint. Prepared By: Ms. Sushma Malik
FOREIGN KEY Prepared By: Ms. Sushma Malik Customer_details order_details
FOREIGN KEY Prepared By: Ms. Sushma Malik
Behaviour of Foreign Key Column on Delete  There are two ways to maintain the integrity of data in Child table, when a particular record is deleted in the main table.  When two tables are connected with Foreign key, and certain data in the main table is deleted, for which a record exits in the child table, then we must have some mechanism to save the integrity of data in the child table. Prepared By: Ms. Sushma Malik
FOREIGN KEY Prepared By: Ms. Sushma Malik
FOREIGN KEY  On Delete Cascade : This will remove the record from child table, if that value of foreign key is deleted from the main table.  On Delete Null : This will set all the values in that record of child table as NULL, for which the value of foreign key is deleted from the main table.  If we don't use any of the above, then we cannot delete data from the main table for which data in child table exists. We will get an error if we try to do so. Prepared By: Ms. Sushma Malik
CHECK  Using the CHECK constraint we can specify a condition for a field, which should be satisfied at the time  Its like condition checking before saving data into a column. of entering values for this field. Prepared By: Ms. Sushma Malik
CHECK Prepared By: Ms. Sushma Malik
DEFAULT  This constraint is used to provide a default value for the fields.  That is, if at the time of entering new records in the table if the user does not specify any value for these fields then the default value will be assigned to them. Prepared By: Ms. Sushma Malik
DEFAULT Prepared By: Ms. Sushma Malik
Introduction to Nested Queries  In nested queries, a query is written inside a query. The result of inner query is used in execution of outer query.  A nested query is a query that has another query embedded within it. The embedded query is called a subquery. Prepared By: Ms. Sushma Malik
Important Rule for Nested Queries  A subquery can be placed in a number of SQL clauses like WHERE clause, FROM clause, HAVING clause.  You can use Subquery with SELECT, UPDATE, INSERT, DELETE statements along with the operators like =, <, >, >=, <=, IN, BETWEEN, etc.  A subquery is a query within another query. The outer query is known as the main query, and the inner query is known as a subquery.  Subqueries are on the right side of the comparison operator.  A subquery is enclosed in parentheses.  In the Subquery, ORDER BY command cannot be used. But GROUP BY command can be used to perform the same function as ORDER BY command. Prepared By: Ms. Sushma Malik
Important Rule for Nested Queries  User can put a nested SELECT within the WHERE clause with comparison operators or the IN, NOT IN, ANY, or ALL operators.  The IN operator checks if a certain value is in the table returned by the subquery.  The NOT IN operator filters out the rows corresponding to the values not present in that table returned by a subquery.  The ANY operator is used with comparison operators to evaluate if any of the values returned by the subquery satisfy the condition.  The ALL operator is also used with comparison operators to evaluate if all values returned by the subquery satisfy the condition. Prepared By: Ms. Sushma Malik
Subqueries with the Select Statement  Subqueries are most frequently used with the SELECT statement. The basic syntax is as follows − Prepared By: Ms. Sushma Malik
Find All Students That Have Above-average GPA? Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik 1 2 3
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Subqueries with the INSERT Statement  Subqueries also can be used with INSERT statements. The INSERT statement uses the data returned from the subquery to insert into another table. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Subqueries with the UPDATE Statement  The subquery can be used in conjunction with the UPDATE statement. Either single or multiple columns in a table can be updated when using a subquery with the UPDATE statement. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Subqueries with the DELETE Statement Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Assignment 9  Find the details of those employees whose salary is equal to maximum salary in the organisation  SELECT * from emp_2906 where salary = (SELECT max(salary) from emp_2906); Prepared By: Ms. Sushma Malik
 Find the details of those employees who earn less than the average salary of the organisation.  SELECT * from emp_2906 where salary < (SELECT avg(salary) from emp_2906); Prepared By: Ms. Sushma Malik
 Find all employees name of the department where Kanishk works.  SELECT * from emp_2906 where dptno = (SELECT dptno from emp_2906 where ename='Kanishk'); Prepared By: Ms. Sushma Malik
 Find all the details of the employees who draw more than the average salary in the organization.  select * from emp_2906 where salary > (select avg(salary) from emp_2906); Prepared By: Ms. Sushma Malik
 Find all the details of the person who draws the second highest salary.  select * from emp_2906 where salary = (select max(salary) from emp_2906 where salary <(select max(salary) from emp_2906)); Prepared By: Ms. Sushma Malik
SQL Aggregate Functions  In database management an aggregate function is a function where the values of multiple rows are grouped together as input on certain criteria to form a single value of more significant meaning.  SQL aggregation function is used to perform the calculations on multiple rows of a single column of a table. It returns a single value.  It is also used to summarize the data. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
COUNT FUNCTION  COUNT function is used to Count the number of rows in a database table. It can work on both numeric and non-numeric data types.  COUNT function uses the COUNT(*) that returns the count of all the rows in a specified table. COUNT(*) considers duplicate and Null. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
SUM Function  Sum function is used to calculate the sum of all selected columns. It works on numeric fields only. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
AVG function  The AVG function is used to calculate the average value of the numeric type. AVG function returns the average of all non-Null values. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
MAX Function and MIN Function  MAX function is used to find the maximum value of a certain column. This function determines the largest value of all selected values of a column.  MIN function is used to find the minimum value of a certain column. This function determines the smallest value of all selected values of a column. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
SQL GROUP BY Clause  The GROUP BY clause is a SQL command that is used to group rows that have the same values. The GROUP BY clause is used in the SELECT statement. Optionally it is used in conjunction with aggregate functions to produce summary reports from the database.  That’s what it does, summarizing data from the database.  The queries that contain the GROUP BY clause are called grouped queries and only return a single row for every grouped item. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
 Group By single column: Group By single column is used to place all the rows with the same value. These values are of that specified column in one group. It signifies that all rows will put an equal amount through a single column, which is of one appropriate column in one group. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
 Groups based on several columns: A group of some columns are GROUP BY column 1, column2, etc. Here, we are placing all rows in a group with the similar values of both column 1 and column 2. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
HAVING Clause in SQL  The HAVING clause places the condition in the groups defined by the GROUP BY clause in the SELECT statement.  This SQL clause is implemented after the 'GROUP BY' clause in the 'SELECT' statement.  This clause is used in SQL because we cannot use the WHERE clause with the SQL aggregate functions. Both WHERE and HAVING clauses are used for filtering the records in SQL queries. Prepared By: Ms. Sushma Malik
Difference between HAVING and WHERE Clause HAVING WHERE 1. The HAVING clause is used in database systems to fetch the data/values from the groups according to the given condition. 1. The WHERE clause is used in database systems to fetch the data/values from the tables according to the given condition. 2. The HAVING clause is always executed with the GROUP BY clause. 2. The WHERE clause can be executed without the GROUP BY clause. 3. The HAVING clause can include SQL aggregate functions in a query or statement. 3. We cannot use the SQL aggregate function with WHERE clause in statements. 4. We can only use SELECT statement with HAVING clause for filtering the records. 4. Whereas, we can easily use WHERE clause with UPDATE, DELETE, and SELECT statements. Prepared By: Ms. Sushma Malik
Syntax of HAVING clause in SQL  SELECT column_Name1, column_Name2, ....., column _NameN aggregate_function_name(column_Name) FROM table_name GROUP BY column_Name1 HAVING condition; Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
SQL | Join (Inner, Left, Right and Full Joins)  The join clause allows us to retrieve data from two or more related tables into a meaningful result set. We can join the table using a SELECT statement and a join condition. It indicates how SQL Server can use data from one table to select rows from another table. In general, tables are related to each other using foreign key constraints.  In a JOIN query, a condition indicates how two tables are related:  Choose columns from each table that should be used in the join. A join condition indicates a foreign key from one table and its corresponding key in the other table.  Specify the logical operator to compare values from the columns like =, <, or >. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
INNER JOIN  The most important and frequently used of the joins is the INNER JOIN. They are also referred to as an EQUIJOIN.  The INNER JOIN creates a new result table by combining column values of two tables (table1 and table2) based upon the join-predicate.  The query compares each row of table1 with each row of table2 to find all pairs of rows which satisfy the join- predicate.  When the join-predicate is satisfied, column values for each matched pair of rows of A and B are combined into a result row. Prepared By: Ms. Sushma Malik
basic syntax of the INNER JOIN Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
OUTER JOIN  OUTER JOIN in SQL Server returns all records from both tables that satisfy the join condition. In other words, this join will not return only the matching record but also return all unmatched rows from one or both tables.  We can categories the OUTER JOIN further into three types:  LEFT OUTER JOIN  RIGHT OUTER JOIN  FULL OUTER JOIN Prepared By: Ms. Sushma Malik
LEFT OUTER JOIN  The LEFT OUTER JOIN retrieves all the records from the left table and matching rows from the right table. It will return NULL when no matching record is found in the right side table. Since OUTER is an optional keyword, it is also known as LEFT JOIN. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
SQL RIGHT JOIN  The SQL right join returns all the values from the rows of right table. It also includes the matched values from left table but if there is no matching in both tables, it returns NULL. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
SQL FULL JOIN  The SQL full join is the result of combination of both left and right outer join and the join tables have all the records from both tables. It puts NULL on the place of matches not found. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
SQL Cross Join  Join operation in SQL is used to combine multiple tables together into a single table.  If we use the cross join to combine two different tables, then we will get the Cartesian product of the sets of rows from the joined table. When each row of the first table is combined with each row from the second table, it is known as Cartesian join or cross join.  After performing the cross join operation, the total number of rows present in the final table will be equal to the product of the number of rows present in table 1 and the number of rows present in table 2. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Views in SQL  Views in SQL are considered as a virtual table. A view also contains rows and columns.  To create the view, we can select the fields from one or more tables present in the database.  A View can either have all the rows of a table or specific rows based on certain condition. Prepared By: Ms. Sushma Malik
Creating View from a single table Prepared By: Ms. Sushma Malik
Creating View from multiple tables Prepared By: Ms. Sushma Malik
Uses of a View  A good database should contain views due to the given reasons:  Restricting data access – Views provide an additional level of table security by restricting access to a predetermined set of rows and columns of a table.  Hiding data complexity – A view can hide the complexity that exists in a multiple table join.  Simplify commands for the user – Views allows the user to select information from multiple tables without requiring the users to actually know how to perform a join.  Store complex queries – Views can be used to store complex queries.  Rename Columns – Views can also be used to rename the columns without affecting the base tables provided the number of columns in view must match the number of columns specified in select statement. Thus, renaming helps to to hide the names of the columns of the base tables.  Multiple view facility – Different views can be created on the same table for different users. Prepared By: Ms. Sushma Malik
Deleting View Prepared By: Ms. Sushma Malik
SQL INDEX  The Index in SQL is a special table used to speed up the searching of the data in the database tables. It also retrieves a vast amount of data from the tables frequently. The INDEX requires its own space in the hard disk.  For example, if you want to reference all pages in a book that discusses a certain topic, you first refer to the index, which lists all the topics alphabetically and are then referred to one or more specific page numbers.  An index helps to speed up SELECT queries and WHERE clauses, but it slows down data input, with the UPDATE and the INSERT statements.  In SQL, an Index is created on the fields of the tables. We can easily build one or more indexes on a table. The creation and deletion of the Index do not affect the data of the database. Prepared By: Ms. Sushma Malik
Why SQL Index?  The following reasons tell why Index is necessary in SQL:  SQL Indexes can search the information of the large database quickly.  This concept is a quick process for those columns, including different values.  This data structure sorts the data values of columns (fields) either in ascending or descending order. And then, it assigns the entry for each value.  Each Index table contains only two columns. The first column is row_id, and the other is indexed-column.  When indexes are used with smaller tables, the performance of the index may not be recognized. Prepared By: Ms. Sushma Malik
Create an INDEX and Create UNIQUE INDEX  Here, Index_Name is the name of that index that we want to create, and Table_Name is the name of the table on which the index is to be created. The Column_Name represents the name of the column on which index is to be applied. Prepared By: Ms. Sushma Malik
Rename an INDEX and Remove an INDEX Prepared By: Ms. Sushma Malik
When should indexes be avoided?  Although indexes are intended to enhance a database's performance, there are times when they should be avoided.  The following guidelines indicate when the use of an index should be reconsidered.  Indexes should not be used on small tables.  Tables that have frequent, large batch updates or insert operations.  Indexes should not be used on columns that contain a high number of NULL values.  Columns that are frequently manipulated should not be indexed.  When the table needs to be updated frequently. Prepared By: Ms. Sushma Malik
SQL | SEQUENCES  Sequence is a set of integers 1, 2, 3, … that are generated and supported by some database systems to produce unique values on demand.  A sequence is a user defined schema bound object that generates a sequence of numeric values.  Sequences are frequently used in many databases because many applications require each row in a table to contain a unique value and sequences provides an easy way to generate them.  The sequence of numeric values is generated in an ascending or descending order at defined intervals and can be configured to restart when exceeds max_value. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Example to use sequence Prepared By: Ms. Sushma Malik
SQL Trigger  Triggers are stored programs, which are automatically executed or fired when some events occur. Triggers are, in fact, written to be executed in response to any of the following events −  A database manipulation (DML) statement (DELETE, INSERT, or UPDATE)  A database definition (DDL) statement (CREATE, ALTER, or DROP).  A database operation (SERVERERROR, LOGON, LOGOFF, STARTUP, or SHUTDOWN).  Triggers can be defined on the table, view, schema, or database with which the event is associated. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Types of SQL Server Triggers  We can categorize the triggers in SQL Server in mainly three types:  Data Definition Language (DDL) Triggers  Data Manipulation Language (DML) Triggers  Logon Triggers Prepared By: Ms. Sushma Malik
DDL Triggers  DDL triggers are fired in response to the DDL events, such as CREATE, ALTER, and DROP statements. We can create these triggers at the database level or server level, depending on the type of DDL events. It can also be executed in response to certain system-defined stored procedures that do DDL-like operations.  The DDL triggers are useful in the following scenario:  When we need to prevent the database schema from changing  When we need to audit changes made in the database schema  When we need to respond to a change made in the database schema Prepared By: Ms. Sushma Malik
DML Triggers  DML triggers are fired in response to DML events like INSERT, UPDATE, and DELETE statements in the user's table or view. It can also be executed in response to DML-like operations performed by system-defined stored procedures.  The DML triggers can be classified into two types:  After Triggers  Instead Of Triggers  Prepared By: Ms. Sushma Malik
After Triggers  After trigger fires, when SQL Server completes the triggering action successfully, that fired it. Generally, this trigger is executed when a table completes an insert, update or delete operations. It is not supported in views. Sometimes it is known as FOR triggers.  We can classify this trigger further into three types:  AFTER INSERT Trigger  AFTER UPDATE Trigger  AFTER DELETE Trigger Prepared By: Ms. Sushma Malik
Instead of Triggers  Instead of Trigger fires before SQL Server begins to execute the triggering operation that triggered it. It means that no condition constraint check is needed before the trigger runs. As a result, even if the constraint check fails, this trigger will fire. It is the opposite of the AFTER trigger. We can create the INSTEAD OF triggers on a table that executes successfully but doesn't contain the table's actual insert, update, or delete operations.  We can classify this trigger further into three types:  INSTEAD OF INSERT Trigger  INSTEAD OF UPDATE Trigger  INSTEAD OF DELETE Trigger Prepared By: Ms. Sushma Malik
Logon Triggers  Logon triggers are fires in response to a LOGON event. The LOGON event occurs when a user session is generated with an SQL Server instance, which is made after the authentication process of logging is completed but before establishing a user session. As a result, the SQL Server error log will display all messages created by the trigger, including error messages and the PRINT statement messages. If authentication fails, logon triggers do not execute. These triggers may be used to audit and control server sessions, such as tracking login activity or limiting the number of sessions for a particular login. Prepared By: Ms. Sushma Malik
Advantages of Triggers  The following are the advantages of using triggers in SQL Server:  Triggers set database object rules and roll back if any change does not satisfy those rules. The trigger will inspect the data and make changes if necessary.  Triggers help us to enforce data integrity.  Triggers help us to validate data before inserted or updated.  Triggers help us to keep a log of records.  Triggers increase SQL queries' performance because they do not need to compile each time they are executed.  Triggers reduce the client-side code that saves time and effort.  Triggers are easy to maintain. Prepared By: Ms. Sushma Malik
Disadvantages of Triggers  The following are the disadvantages of using triggers in SQL Server:  Triggers only allow using extended validations.  Triggers are invoked automatically, and their execution is invisible to the user. Therefore, it isn't easy to troubleshoot what happens in the database layer.  Triggers may increase the overhead of the database server.  We can define the same trigger action for multiple user actions such as INSERT and UPDATE in the same CREATE TRIGGER statement.  We can create a trigger in the current database only, but it can reference objects outside the current database. Prepared By: Ms. Sushma Malik
Stored Procedures in SQL  Stored procedure is used to save time to write code again and again by storing the same in database and also get the required output by passing parameters.  Stored Procedures are created to perform one or more DML operations on Database. It is nothing but the group of SQL statements that accepts some input in the form of parameters and performs some task and may or may not returns a value. Prepared By: Ms. Sushma Malik
Prepared By: Ms. Sushma Malik
Features of Stored Procedures in SQL Server  The following are the features of stored procedure in SQL Server:  Reduced Traffic: A stored procedure reduces network traffic between the application and the database server, resulting in increased performance. It is because instead of sending several SQL statements, the application only needs to send the name of the stored procedure and its parameters.  Stronger Security: The procedure is always secure because it manages which processes and activities we can perform. It removes the need for permissions to be granted at the database object level and simplifies the security layers.  Reusable: Stored procedures are reusable. It reduces code inconsistency, prevents unnecessary rewrites of the same code, and makes the code transparent to all applications or users. Prepared By: Ms. Sushma Malik
Features of Stored Procedures in SQL Server  Easy Maintenance: The procedures are easier to maintain without restarting or deploying the application.  Improved Performance: Stored Procedure increases the application performance. Once we create the stored procedures and compile them the first time, it creates an execution plan reused for subsequent executions. The procedure is usually processed quicker because the query processor does not have to create a new plan. Prepared By: Ms. Sushma Malik

Database management system unit 1 Bca 2-semester notes

  • 1.
    UNIT 1 BCA IISEM Prepared By: Ms. Sushma Malik
  • 2.
    SYLLABUS  UNIT –II  Introduction to Query Language, QBE (Query by Example), NoSQL, MongoDB  Introduction to SQL: Overview, Characteristics of SQL. Advantage of SQL, SQL data types and literals.  Types of SQL commands: DDL, DML, DCL. Basic SQL Queries.  Logical operators: BETWEEN, IN, AND, OR and NOT  Null Values: Disallowing Null Values, Comparisons Using Null Values  Integrity constraints: Primary Key, Not NULL, Unique, Check, Referential key  Introduction to Nested Queries, Correlated Nested Queries, Set- Comparison Operators, Aggregate Operators: The GROUP BY and HAVING Clauses,  Joins: Inner joins, Outer Joins, Left outer, Right outer, full outer joins.  Overview of views and indexes. Prepared By: Ms. Sushma Malik
  • 3.
    INTRODUCTION TO SQL SQL stands for Structured Query Language. It is used for storing and managing data in relational database management system (RDMS).  It is a standard language for Relational Database System. It enables a user to create, read, update and delete relational databases and tables.  All the RDBMS like MySQL, Informix, Oracle, MS Access and SQL Server use SQL as their standard database language.  SQL allows users to query the database in a number of ways, using English-like statements. Prepared By: Ms. Sushma Malik
  • 4.
    INTRODUCTION TO SQL PreparedBy: Ms. Sushma Malik
  • 5.
    CHARACTERISTICS OF SQL SQL is easy to learn.  SQL is used to access data from relational database management systems.  SQL can execute queries against the database.  SQL is used to describe the data.  SQL is used to define the data in the database and manipulate it when needed.  SQL is used to create and drop the database and table.  SQL is used to create a view, stored procedure, function in a database.  SQL allows users to set permissions on tables, procedures, and views. Prepared By: Ms. Sushma Malik
  • 6.
    ADVANTAGE OF SQL High speed  Using the SQL queries, the user can quickly and efficiently retrieve a large amount of records from a database.  No coding needed  In the standard SQL, it is very easy to manage the database system. It doesn't require a substantial amount of code to manage the database system.  Well defined standards  Long established are used by the SQL databases that are being used by ISO and ANSI. Prepared By: Ms. Sushma Malik
  • 7.
    ADVANTAGE OF SQL Portability  SQL can be used in laptop, PCs, server and even some mobile phones.  Interactive language  SQL is a domain language used to communicate with the database. It is also used to receive answers to the complex questions in seconds.  Multiple data view  Using the SQL language, the users can make different views of the database structure. Prepared By: Ms. Sushma Malik
  • 8.
    SQL DATA TYPESAND LITERALS  Every field or column in a table is given a data type when a table is defined. These data types describe the kind of information which can be stored in a column.  In SQL, this is done by assigning each field a data type that indicates the kind of values the field will contain. All the values in a given field must be of the same type.  There are commonly five types of data type in SQL: i. CHAR ii. VARCHAR iii. NUMBER iv. DATE v. LONG Prepared By: Ms. Sushma Malik
  • 9.
    SQL DATA TYPESAND LITERALS Prepared By: Ms. Sushma Malik
  • 10.
    SQL DATA TYPES CHAR:  A column defined with a CHAR data type is allowed to store all types of characters which include letters both uppercase and lowercase letters, such as – A, B, …, Z and a, b, …, z and special characters like @, #, &, $, etc.  VARCHAR (size)  It is similar to CHAR but it can store variable sized strings having a maximum length determined by ‘size’. The maximum value the ‘size’ can have is 2000 characters. Prepared By: Ms. Sushma Malik
  • 11.
    SQL DATA TYPES NUMBER:  It is used to store variable-length numeric data.  DATE:  This type of data is used to store date and time information. The default format is DD-MM-YY.  LONG:  This data type stores variable-length character strings containing up to 2 gigabytes size. But LONG data type has some following limitations: Prepared By: Ms. Sushma Malik
  • 12.
    LITERALS  Literals arethe notations or idea to represent/express a non-changing value. In MySQL, literals are similar to the constant. We can use a literal while declaring a variable or executing the queries.  String Literal  The string in MySQL is a sequence of characters or bytes that are enclosed in single quotes (') or double quotes ("). For example, 'first string' and "second string" both are the same.  Numeric literals in MySQL  are used to specify the two types of literal values: the exact-value (integer and decimal), and the approximate value (floating-point) literals. It can be positive or negative values. Prepared By: Ms. Sushma Malik
  • 13.
    Number Literals Descriptions Integer It isrepresented as a sequence of digits without any fractional parts. If the number preceded by - sign, it is a negative integer. If the number is preceded by + sign, it is a positive integer. If the number does not have any sign, it assumes a positive integer. For example, 55, +55, -55 are all integer numbers. Decimal It is represented as a sequence of digits with fractional parts. In other words, it contains a whole number plus fractional part, which is separated by dot(.) operator or decimal point. It can be integer and non-integer both. It produces the calculation in exact numeric form. For example, 325.90, 355.6 are decimal numbers. Floating- Point It is a number that contains a floating decimal point. It means there are no fixed digits before and after the decimal point. It contains two kinds of data types named float and double that produce an approximate value. For example, 2.36E0, 0.005, and -2,328.679 are all floating- point numbers. Prepared By: Ms. Sushma Malik
  • 14.
    TYPES OF SQLCOMMANDS  SQL commands are instructions. It is used to communicate with the database. It is also used to perform specific tasks, functions, and queries of data.  SQL can perform various tasks like create a table, add data to tables, drop the table, modify the table, set permission for users.  Types of SQL Commands  There are five types of SQL commands: DDL, DML, DCL, TCL, and DQL. Prepared By: Ms. Sushma Malik
  • 15.
    TYPES OF SQLCOMMANDS Prepared By: Ms. Sushma Malik
  • 16.
    DATA DEFINITION LANGUAGE(DDL)  DDL changes the structure of the table like creating a table, deleting a table, altering a table, etc.  All the command of DDL are auto-committed that means it permanently save all the changes in the database.  Here are some commands that come under DDL:  CREATE  ALTER  DROP  TRUNCATE Prepared By: Ms. Sushma Malik
  • 17.
    DATA DEFINITION LANGUAGE(DDL)  CREATE It is used to create a new table in the database.  Syntax:  CREATE TABLE TABLE_NAME (COLUMN_NAME DATAT YPES[,....]);  Example:  CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);  DROP: It is used to delete both the structure and record stored in the table.  Syntax  DROP TABLE table_name;  Example  DROP TABLE EMPLOYEE; Prepared By: Ms. Sushma Malik
  • 18.
    DATA DEFINITION LANGUAGE(DDL)  ALTER: It is used to alter the structure of the database. This change could be either to modify the characteristics of an existing attribute or probably to add a new attribute.  Syntax:  To add a new column in the table  ALTER TABLE table_name ADD column_name COLUMN- definition;  To modify existing column in the table:  ALTER TABLE table_name MODIFY(column_definitions....);  EXAMPLE  ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));  ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20)); Prepared By: Ms. Sushma Malik
  • 19.
    DATA DEFINITION LANGUAGE(DDL)  TRUNCATE: It is used to delete all the rows from the table and free the space containing the table.  Syntax:  TRUNCATE TABLE table_name;  Example:  TRUNCATE TABLE EMPLOYEE; Prepared By: Ms. Sushma Malik
  • 20.
    DATA MANIPULATION LANGUAGE DML commands are used to modify the database. It is responsible for all form of changes in the database.  The command of DML is not auto-committed that means it can't permanently save all the changes in the database. They can be rollback.  Here are some commands that come under DML:  INSERT  UPDATE  DELETE Prepared By: Ms. Sushma Malik
  • 21.
    DATA MANIPULATION LANGUAGE INSERT: The INSERT statement is a SQL query. It is used to insert data into the row of a table.  Syntax:  INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN);  Or  INSERT INTO TABLE_NAME  VALUES (value1, value2, value3, .... valueN); Prepared By: Ms. Sushma Malik
  • 22.
    DATA MANIPULATION LANGUAGE UPDATE: This command is used to update or modify the value of a column in the table.  Syntax:  UPDATE table_name SET [column_name1= value1,...co lumn_nameN = valueN] [WHERE CONDITION]  For example: UPDATE students SET User_Name = 'Sonoo' WHERE Student_Id = '3' Prepared By: Ms. Sushma Malik
  • 23.
    DATA MANIPULATION LANGUAGE DELETE: It is used to remove one or more row from a table.  Syntax:  DELETE FROM table_name [WHERE condition]; For example: DELETE FROM javatpoint WHERE Author="Sonoo"; Prepared By: Ms. Sushma Malik
  • 24.
    DATA CONTROL LANGUAGE DCL commands are used to grant and take back authority from any database user.  Here are some commands that come under DCL:  Grant  Revoke Prepared By: Ms. Sushma Malik
  • 25.
    DATA CONTROL LANGUAGE Grant: It is used to give user access privileges to a database.  Example  GRANT SELECT, UPDATE ON MY_TABLE TO SOME _USER, ANOTHER_USER;  Revoke: It is used to take back permissions from the user.  Example  REVOKE SELECT, UPDATE ON MY_TABLE FROM US ER1, USER2; Prepared By: Ms. Sushma Malik
  • 26.
    TRANSACTION CONTROL LANGUAGE TCL commands can only use with DML commands like INSERT, DELETE and UPDATE only.  These operations are automatically committed in the database that's why they cannot be used while creating tables or dropping them.  Here are some commands that come under TCL:  COMMIT  ROLLBACK  SAVEPOINT Prepared By: Ms. Sushma Malik
  • 27.
    TRANSACTION CONTROL LANGUAGE Commit: Commit command is used to save all the transactions to the database.  Syntax:  COMMIT;  Example:  DELETE FROM CUSTOMERS  WHERE AGE = 25;  COMMIT;  Rollback: Rollback command is used to undo transactions that have not already been saved to the database.  Syntax:  ROLLBACK;  Example:  DELETE FROM CUSTOMERS  WHERE AGE = 25;  ROLLBACK;  SAVEPOINT: It is used to roll the transaction back to a certain point without rolling back the entire transaction.  Syntax:  SAVEPOINT SAVEPOINT_NAME; Prepared By: Ms. Sushma Malik
  • 28.
    DATA QUERY LANGUAGE DQL is used to fetch the data from the database.  It uses only one command:  SELECT: This is the same as the projection operation of relational algebra. It is used to select the attribute based on the condition described by WHERE clause.  Syntax:  SELECT expressions  FROM TABLES  WHERE conditions;  For example:  SELECT emp_name  FROM employee  WHERE age > 20; Prepared By: Ms. Sushma Malik
  • 29.
    SQL OPERATOR Prepared By:Ms. Sushma Malik
  • 30.
    SQL ARITHMETIC OPERATORS Operato r DescriptionExample + It adds the value of both operands. a+b will give 30 - It is used to subtract the right-hand operand from the left-hand operand. a-b will give 10 * It is used to multiply the value of both operands. a*b will give 200 / It is used to divide the left-hand operand by the right-hand operand. a/b will give 2 % It is used to divide the left-hand operand by the right-hand operand and returns reminder. a%b will give 0 Prepared By: Ms. Sushma Malik
  • 31.
    SQL COMPARISON OPERATORS: OperatorDescription Example = It checks if two operands values are equal or not, if the values are queal then condition becomes true. (a=b) is not true != It checks if two operands values are equal or not, if values are not equal, then condition becomes true. (a!=b) is true <> It checks if two operands values are equal or not, if values are not equal then condition becomes true. (a<>b) is true > It checks if the left operand value is greater than right operand value, if yes then condition becomes true. (a>b) is not true < It checks if the left operand value is less than right operand value, if yes then condition becomes true. (a<b) is true >= It checks if the left operand value is greater than or equal to the right operand value, if yes then condition becomes true. (a>=b) is not true <= It checks if the left operand value is less than or equal to the right operand value, if yes then condition becomes true. (a<=b) is true Prepared By: Ms. Sushma Malik
  • 32.
    SQL LOGICAL OPERATORS OperatorDescription ALL It compares a value to all values in another value set. AND It allows the existence of multiple conditions in an SQL statement. ANY It compares the values in the list according to the condition. BETWEEN It is used to search for values that are within a set of values. IN It compares a value to that specified list value. NOT It reverses the meaning of any logical operator. OR It combines multiple conditions in SQL statements. EXISTS It is used to search for the presence of a row in a specified table. LIKE It compares a value to similar values using wildcard operator. Prepared By: Ms. Sushma Malik
  • 33.
    SQL Logical Operators Logical operators are used to specify conditions in the structured query language (SQL) statement. They are also used to serve as conjunctions for multiple conditions in a statement.  The different logical operators are shown below −  ALL − It is used to compare a value with every value in a list or returned by a query. Must be preceded by =, !=, >, < ,<=, or >= evaluates.  For example,  select * from emp where salary>= ALL(1500,4000); Prepared By: Ms. Sushma Malik
  • 34.
    SQL Logical Operators AND − Returns TRUE if both component conditions are TRUE. Returns FALSE if either is FALSE; otherwise returns UNKNOWN.  For example,  select * from emp where job=’manager’ AND deptno=20;  OR − Return TRUE if either component condition is TRUE. Return FALSE if both are FALSE. Otherwise, return UNKNOWN.  For example,  select * from emp where job=’manager’ OR deptno=20; Prepared By: Ms. Sushma Malik
  • 35.
    SQL Logical Operators IN − It is equivalent to any test. Equivalent to = ANY, The In operator is used to compare a value to a list of literal values that have been specified.  For example,  select * from empl081 where salary IN (35000,50000);  NOT − Returns TRUE if the condition is FALSE. Returns FALSE, if it is TRUE. If it is UNKNOWN, it remains UNKNOWN.  For example,  select * from emp where NOT (job is NULL)  select * from emp where NOT(salary between 2000 AND 5000); Prepared By: Ms. Sushma Malik
  • 36.
    SQL Logical Operators BETWEEN − It is used to define range limits.  For example,  If we want to find all employees whose age is in between 40 and 50 the query is as follows  Select * from employee where age between 40 AND 50;  LIKE − It is used to compare values to a list of literal values that are specified. “%” character is used to match any substring and “_” character is used to match any character. It expresses a pattern by using the ‘like’ comparison operator.  For example,  To display all names whose second letter is ‘b’, use the below mentioned command −  select * from emp where ename LIKE ‘_b%’; Prepared By: Ms. Sushma Malik
  • 37.
    SQL Logical Operators To display a person details whose first letter is ‘A’ and third letter is ‘d’, use the command given below −  Select * from emp where ename LIKE ‘A_d_’; Prepared By: Ms. Sushma Malik
  • 38.
    NULL Values  TheSQL NULL is the term used to represent a missing value. A NULL value in a table is a value in a field that appears to be blank.  A field with a NULL value is a field with no value. It is very important to understand that a NULL value is different than a zero value or a field that contains spaces.  Syntax  The basic syntax of NULL while creating a table.  SQL> CREATE TABLE CUSTOMERS(  ID INT NOT NULL,  NAME VARCHAR (20) NOT NULL,  AGE INT NOT NULL,  ADDRESS CHAR (25) ,  SALARY DECIMAL (18, 2),  PRIMARY KEY (ID)  ); Prepared By: Ms. Sushma Malik
  • 39.
    NULL Values  Here,NOT NULL signifies that column should always accept an explicit value of the given data type. There are two columns where we did not use NOT NULL, which means these columns could be NULL.  A field with a NULL value is the one that has been left blank during the record creation. Prepared By: Ms. Sushma Malik
  • 40.
    Importance of NULLvalue:  It is important to understand that a NULL value is different from a zero value.  A NULL value is used to represent a missing value, but that it usually has one of three different interpretations:  The value unknown (value exists but is not known)  Value not available (exists but is purposely withheld)  Attribute not applicable (undefined for this tuple)  It is often not possible to determine which of the meanings is intended. Hence, SQL does not distinguish between the different meanings of NULL. Prepared By: Ms. Sushma Malik
  • 41.
    Principles of NULLvalues:  Setting a NULL value is appropriate when the actual value is unknown, or when a value would not be meaningful.  A NULL value is not equivalent to a value of ZERO if the data type is a number and is not equivalent to spaces if the data type is character.  A NULL value can be inserted into columns of any data type.  A NULL value will evaluate NULL in any expression.  Suppose if any column has a NULL value, then UNIQUE, FOREIGN key, CHECK constraints will ignore by SQL. Prepared By: Ms. Sushma Malik
  • 42.
    What is aSQL NULL value?  In terms of the relational database model, a NULL value indicates an unknown value. If we widen this theoretical explanation, the NULL value points to an unknown value but this unknown value does not equivalent to a zero value or a field that contains spaces.  Due to this structure of the NULL values, it is not possible to use traditional comparison (=, <, > and <>) operators in the queries. As a matter of fact, in the SQL Standards using the WHERE clause as the below will lead to return empty result sets. Prepared By: Ms. Sushma Malik
  • 43.
    What is aSQL NULL value?  SELECT column_name1, column_name2, column_name3 , ... , column_nameN  FROM table_name  WHERE column_nameN = NULL  For this reason, working with the NULL values might be a bit complicated and are required to use certain built-in fu nctions which are customized for handling NULL values. Prepared By: Ms. Sushma Malik
  • 44.
    IS NULL Condition The IS NULL condition is used to return rows that contain the NULL values in a column and its syntax is like below:  SELECT column_name1, column_name2, column_nam e3, ... , column_nameN  FROM table_name  WHERE column_nameN IS NULL  The IS NOT NULL condition is used to return the row s that contain non-NULL values in a column. Prepared By: Ms. Sushma Malik
  • 45.
    INTEGRITY CONSTRAINTS  Constraintsin SQL Server are predefined rules and restrictions that are enforced in a single column or multiple columns, regarding the values allowed in the columns, to maintain the integrity, accuracy, and reliability of that column’s data.  In other words, if the inserted data meets the constraint rule, it will be inserted successfully. If the inserted data violates the defined constraint, the insert operation will be aborted.  Constraints in SQL Server can be defined at the column level, where it is specified as part of the column definition and will be applied to that column only, or declared independently at the table level.  In this case, the constraint rules will be applied to more than one column in the specified table. Prepared By: Ms. Sushma Malik
  • 46.
    INTEGRITY CONSTRAINTS  Theconstraint can be created within the CREATE TABLE T- SQL command while creating the table or added using ALTER TABLE T-SQL command after creating the table.  Adding the constraint after creating the table, the existing data will be checked for the constraint rule before creating that constraint.  There are six main constraints that are commonly used in SQL Server  SQL NOT NULL  UNIQUE  PRIMARY KEY  FOREIGN KEY  CHECK  DEFAULT Prepared By: Ms. Sushma Malik
  • 47.
    NOT NULL Constraint By default, a column can hold NULL values. If you do not want a column to have a NULL value, use the NOT NULL constraint.  If we specify a field in a table to be NOT NULL. Then the field will never accept null value.  That is, you will be not allowed to insert a new row in the table without specifying any value to this field.  It restricts a column from having a NULL value.  We use ALTER statement and MODIFY statement to specify this constraint. Prepared By: Ms. Sushma Malik
  • 48.
    NOT NULL Constraint PreparedBy: Ms. Sushma Malik
  • 49.
    UNIQUE Constraint  TheUNIQUE constraint in SQL is used to ensure that no duplicate values will be inserted into a specific column or combination of columns that are participating in the UNIQUE constraint and not part of the PRIMARY KEY.  This constraint helps to uniquely identify each row in the table. i.e. for a particular column, all the rows should have unique values.  We can have more than one UNIQUE columns in a table. Prepared By: Ms. Sushma Malik
  • 50.
    UNIQUE Constraint  Itensures that a column will only have unique values. A UNIQUE constraint field cannot have any duplicate data.  It prevents two records from having identical values in a column  We use ALTER statement and MODIFY statement to specify this constraint. Prepared By: Ms. Sushma Malik
  • 51.
  • 52.
    Primary Key Constraint Primary key constraint uniquely identifies each record in a database.  A Primary Key must contain unique value and it must not contain null value.  The PRIMARY KEY constraint consists of one column or multiple columns with values that uniquely identify each row in the table.  The SQL PRIMARY KEY constraint combines between the UNIQUE and SQL NOT NULL constraints, where the column or set of columns that are participating in the PRIMARY KEY cannot accept a NULL value. Prepared By: Ms. Sushma Malik
  • 53.
    Primary Key Constraint The PRIMARY KEY is used mainly to enforce the entity integrity of the table.  Entity integrity ensures that each row in the table is a uniquely identifiable entity.  A table can have only one field as primary key. Prepared By: Ms. Sushma Malik
  • 54.
    Primary Key ConstraintVs Unique  PRIMARY KEY constraint differs from the UNIQUE constraint in that; you can create multiple UNIQUE constraints in a table, with the ability to define only one SQL PRIMARY KEY per each table.  Another difference is that the UNIQUE constraint allows for one NULL value, but the PRIMARY KEY does not allow NULL values. Prepared By: Ms. Sushma Malik
  • 55.
    Primary Key Constraint PreparedBy: Ms. Sushma Malik
  • 56.
    FOREIGN KEY  Aforeign key is a key used to link two tables together.  Foreign Key is used to relate two tables.  The relationship between the two tables matches the Primary Key in one of the tables with a Foreign Key in the second table.  This is also called a referencing key.  We use ALTER statement and ADD statement to specify this constraint. Prepared By: Ms. Sushma Malik
  • 57.
    FOREIGN KEY Prepared By:Ms. Sushma Malik Customer_details order_details
  • 58.
    FOREIGN KEY Prepared By:Ms. Sushma Malik
  • 59.
    Behaviour of ForeignKey Column on Delete  There are two ways to maintain the integrity of data in Child table, when a particular record is deleted in the main table.  When two tables are connected with Foreign key, and certain data in the main table is deleted, for which a record exits in the child table, then we must have some mechanism to save the integrity of data in the child table. Prepared By: Ms. Sushma Malik
  • 60.
    FOREIGN KEY Prepared By:Ms. Sushma Malik
  • 61.
    FOREIGN KEY  OnDelete Cascade : This will remove the record from child table, if that value of foreign key is deleted from the main table.  On Delete Null : This will set all the values in that record of child table as NULL, for which the value of foreign key is deleted from the main table.  If we don't use any of the above, then we cannot delete data from the main table for which data in child table exists. We will get an error if we try to do so. Prepared By: Ms. Sushma Malik
  • 62.
    CHECK  Using theCHECK constraint we can specify a condition for a field, which should be satisfied at the time  Its like condition checking before saving data into a column. of entering values for this field. Prepared By: Ms. Sushma Malik
  • 63.
  • 64.
    DEFAULT  This constraintis used to provide a default value for the fields.  That is, if at the time of entering new records in the table if the user does not specify any value for these fields then the default value will be assigned to them. Prepared By: Ms. Sushma Malik
  • 65.
  • 66.
    Introduction to NestedQueries  In nested queries, a query is written inside a query. The result of inner query is used in execution of outer query.  A nested query is a query that has another query embedded within it. The embedded query is called a subquery. Prepared By: Ms. Sushma Malik
  • 67.
    Important Rule forNested Queries  A subquery can be placed in a number of SQL clauses like WHERE clause, FROM clause, HAVING clause.  You can use Subquery with SELECT, UPDATE, INSERT, DELETE statements along with the operators like =, <, >, >=, <=, IN, BETWEEN, etc.  A subquery is a query within another query. The outer query is known as the main query, and the inner query is known as a subquery.  Subqueries are on the right side of the comparison operator.  A subquery is enclosed in parentheses.  In the Subquery, ORDER BY command cannot be used. But GROUP BY command can be used to perform the same function as ORDER BY command. Prepared By: Ms. Sushma Malik
  • 68.
    Important Rule forNested Queries  User can put a nested SELECT within the WHERE clause with comparison operators or the IN, NOT IN, ANY, or ALL operators.  The IN operator checks if a certain value is in the table returned by the subquery.  The NOT IN operator filters out the rows corresponding to the values not present in that table returned by a subquery.  The ANY operator is used with comparison operators to evaluate if any of the values returned by the subquery satisfy the condition.  The ALL operator is also used with comparison operators to evaluate if all values returned by the subquery satisfy the condition. Prepared By: Ms. Sushma Malik
  • 69.
    Subqueries with theSelect Statement  Subqueries are most frequently used with the SELECT statement. The basic syntax is as follows − Prepared By: Ms. Sushma Malik
  • 70.
    Find All StudentsThat Have Above-average GPA? Prepared By: Ms. Sushma Malik
  • 71.
    Prepared By: Ms.Sushma Malik 1 2 3
  • 72.
    Prepared By: Ms.Sushma Malik
  • 73.
    Prepared By: Ms.Sushma Malik
  • 74.
    Subqueries with theINSERT Statement  Subqueries also can be used with INSERT statements. The INSERT statement uses the data returned from the subquery to insert into another table. Prepared By: Ms. Sushma Malik
  • 75.
    Prepared By: Ms.Sushma Malik
  • 76.
    Subqueries with theUPDATE Statement  The subquery can be used in conjunction with the UPDATE statement. Either single or multiple columns in a table can be updated when using a subquery with the UPDATE statement. Prepared By: Ms. Sushma Malik
  • 77.
    Prepared By: Ms.Sushma Malik
  • 78.
    Subqueries with theDELETE Statement Prepared By: Ms. Sushma Malik
  • 79.
    Prepared By: Ms.Sushma Malik
  • 80.
    Assignment 9  Findthe details of those employees whose salary is equal to maximum salary in the organisation  SELECT * from emp_2906 where salary = (SELECT max(salary) from emp_2906); Prepared By: Ms. Sushma Malik
  • 81.
     Find thedetails of those employees who earn less than the average salary of the organisation.  SELECT * from emp_2906 where salary < (SELECT avg(salary) from emp_2906); Prepared By: Ms. Sushma Malik
  • 82.
     Find allemployees name of the department where Kanishk works.  SELECT * from emp_2906 where dptno = (SELECT dptno from emp_2906 where ename='Kanishk'); Prepared By: Ms. Sushma Malik
  • 83.
     Find allthe details of the employees who draw more than the average salary in the organization.  select * from emp_2906 where salary > (select avg(salary) from emp_2906); Prepared By: Ms. Sushma Malik
  • 84.
     Find allthe details of the person who draws the second highest salary.  select * from emp_2906 where salary = (select max(salary) from emp_2906 where salary <(select max(salary) from emp_2906)); Prepared By: Ms. Sushma Malik
  • 85.
    SQL Aggregate Functions In database management an aggregate function is a function where the values of multiple rows are grouped together as input on certain criteria to form a single value of more significant meaning.  SQL aggregation function is used to perform the calculations on multiple rows of a single column of a table. It returns a single value.  It is also used to summarize the data. Prepared By: Ms. Sushma Malik
  • 86.
    Prepared By: Ms.Sushma Malik
  • 87.
    COUNT FUNCTION  COUNTfunction is used to Count the number of rows in a database table. It can work on both numeric and non-numeric data types.  COUNT function uses the COUNT(*) that returns the count of all the rows in a specified table. COUNT(*) considers duplicate and Null. Prepared By: Ms. Sushma Malik
  • 88.
    Prepared By: Ms.Sushma Malik
  • 89.
    SUM Function  Sumfunction is used to calculate the sum of all selected columns. It works on numeric fields only. Prepared By: Ms. Sushma Malik
  • 90.
    Prepared By: Ms.Sushma Malik
  • 91.
    AVG function  TheAVG function is used to calculate the average value of the numeric type. AVG function returns the average of all non-Null values. Prepared By: Ms. Sushma Malik
  • 92.
    Prepared By: Ms.Sushma Malik
  • 93.
    MAX Function andMIN Function  MAX function is used to find the maximum value of a certain column. This function determines the largest value of all selected values of a column.  MIN function is used to find the minimum value of a certain column. This function determines the smallest value of all selected values of a column. Prepared By: Ms. Sushma Malik
  • 94.
    Prepared By: Ms.Sushma Malik
  • 95.
    SQL GROUP BYClause  The GROUP BY clause is a SQL command that is used to group rows that have the same values. The GROUP BY clause is used in the SELECT statement. Optionally it is used in conjunction with aggregate functions to produce summary reports from the database.  That’s what it does, summarizing data from the database.  The queries that contain the GROUP BY clause are called grouped queries and only return a single row for every grouped item. Prepared By: Ms. Sushma Malik
  • 96.
    Prepared By: Ms.Sushma Malik
  • 97.
     Group Bysingle column: Group By single column is used to place all the rows with the same value. These values are of that specified column in one group. It signifies that all rows will put an equal amount through a single column, which is of one appropriate column in one group. Prepared By: Ms. Sushma Malik
  • 98.
    Prepared By: Ms.Sushma Malik
  • 99.
     Groups basedon several columns: A group of some columns are GROUP BY column 1, column2, etc. Here, we are placing all rows in a group with the similar values of both column 1 and column 2. Prepared By: Ms. Sushma Malik
  • 100.
    Prepared By: Ms.Sushma Malik
  • 101.
    HAVING Clause inSQL  The HAVING clause places the condition in the groups defined by the GROUP BY clause in the SELECT statement.  This SQL clause is implemented after the 'GROUP BY' clause in the 'SELECT' statement.  This clause is used in SQL because we cannot use the WHERE clause with the SQL aggregate functions. Both WHERE and HAVING clauses are used for filtering the records in SQL queries. Prepared By: Ms. Sushma Malik
  • 102.
    Difference between HAVINGand WHERE Clause HAVING WHERE 1. The HAVING clause is used in database systems to fetch the data/values from the groups according to the given condition. 1. The WHERE clause is used in database systems to fetch the data/values from the tables according to the given condition. 2. The HAVING clause is always executed with the GROUP BY clause. 2. The WHERE clause can be executed without the GROUP BY clause. 3. The HAVING clause can include SQL aggregate functions in a query or statement. 3. We cannot use the SQL aggregate function with WHERE clause in statements. 4. We can only use SELECT statement with HAVING clause for filtering the records. 4. Whereas, we can easily use WHERE clause with UPDATE, DELETE, and SELECT statements. Prepared By: Ms. Sushma Malik
  • 103.
    Syntax of HAVINGclause in SQL  SELECT column_Name1, column_Name2, ....., column _NameN aggregate_function_name(column_Name) FROM table_name GROUP BY column_Name1 HAVING condition; Prepared By: Ms. Sushma Malik
  • 104.
    Prepared By: Ms.Sushma Malik
  • 105.
    Prepared By: Ms.Sushma Malik
  • 106.
    Prepared By: Ms.Sushma Malik
  • 107.
    Prepared By: Ms.Sushma Malik
  • 108.
    Prepared By: Ms.Sushma Malik
  • 109.
    SQL | Join(Inner, Left, Right and Full Joins)  The join clause allows us to retrieve data from two or more related tables into a meaningful result set. We can join the table using a SELECT statement and a join condition. It indicates how SQL Server can use data from one table to select rows from another table. In general, tables are related to each other using foreign key constraints.  In a JOIN query, a condition indicates how two tables are related:  Choose columns from each table that should be used in the join. A join condition indicates a foreign key from one table and its corresponding key in the other table.  Specify the logical operator to compare values from the columns like =, <, or >. Prepared By: Ms. Sushma Malik
  • 110.
    Prepared By: Ms.Sushma Malik
  • 111.
    INNER JOIN  Themost important and frequently used of the joins is the INNER JOIN. They are also referred to as an EQUIJOIN.  The INNER JOIN creates a new result table by combining column values of two tables (table1 and table2) based upon the join-predicate.  The query compares each row of table1 with each row of table2 to find all pairs of rows which satisfy the join- predicate.  When the join-predicate is satisfied, column values for each matched pair of rows of A and B are combined into a result row. Prepared By: Ms. Sushma Malik
  • 112.
    basic syntax ofthe INNER JOIN Prepared By: Ms. Sushma Malik
  • 113.
    Prepared By: Ms.Sushma Malik
  • 114.
    Prepared By: Ms.Sushma Malik
  • 115.
    OUTER JOIN  OUTERJOIN in SQL Server returns all records from both tables that satisfy the join condition. In other words, this join will not return only the matching record but also return all unmatched rows from one or both tables.  We can categories the OUTER JOIN further into three types:  LEFT OUTER JOIN  RIGHT OUTER JOIN  FULL OUTER JOIN Prepared By: Ms. Sushma Malik
  • 116.
    LEFT OUTER JOIN The LEFT OUTER JOIN retrieves all the records from the left table and matching rows from the right table. It will return NULL when no matching record is found in the right side table. Since OUTER is an optional keyword, it is also known as LEFT JOIN. Prepared By: Ms. Sushma Malik
  • 117.
    Prepared By: Ms.Sushma Malik
  • 118.
    Prepared By: Ms.Sushma Malik
  • 119.
    Prepared By: Ms.Sushma Malik
  • 120.
    Prepared By: Ms.Sushma Malik
  • 121.
    SQL RIGHT JOIN The SQL right join returns all the values from the rows of right table. It also includes the matched values from left table but if there is no matching in both tables, it returns NULL. Prepared By: Ms. Sushma Malik
  • 122.
    Prepared By: Ms.Sushma Malik
  • 123.
    Prepared By: Ms.Sushma Malik
  • 124.
    SQL FULL JOIN The SQL full join is the result of combination of both left and right outer join and the join tables have all the records from both tables. It puts NULL on the place of matches not found. Prepared By: Ms. Sushma Malik
  • 125.
    Prepared By: Ms.Sushma Malik
  • 126.
    Prepared By: Ms.Sushma Malik
  • 127.
    SQL Cross Join Join operation in SQL is used to combine multiple tables together into a single table.  If we use the cross join to combine two different tables, then we will get the Cartesian product of the sets of rows from the joined table. When each row of the first table is combined with each row from the second table, it is known as Cartesian join or cross join.  After performing the cross join operation, the total number of rows present in the final table will be equal to the product of the number of rows present in table 1 and the number of rows present in table 2. Prepared By: Ms. Sushma Malik
  • 128.
    Prepared By: Ms.Sushma Malik
  • 129.
    Prepared By: Ms.Sushma Malik
  • 130.
    Views in SQL Views in SQL are considered as a virtual table. A view also contains rows and columns.  To create the view, we can select the fields from one or more tables present in the database.  A View can either have all the rows of a table or specific rows based on certain condition. Prepared By: Ms. Sushma Malik
  • 131.
    Creating View froma single table Prepared By: Ms. Sushma Malik
  • 132.
    Creating View frommultiple tables Prepared By: Ms. Sushma Malik
  • 133.
    Uses of aView  A good database should contain views due to the given reasons:  Restricting data access – Views provide an additional level of table security by restricting access to a predetermined set of rows and columns of a table.  Hiding data complexity – A view can hide the complexity that exists in a multiple table join.  Simplify commands for the user – Views allows the user to select information from multiple tables without requiring the users to actually know how to perform a join.  Store complex queries – Views can be used to store complex queries.  Rename Columns – Views can also be used to rename the columns without affecting the base tables provided the number of columns in view must match the number of columns specified in select statement. Thus, renaming helps to to hide the names of the columns of the base tables.  Multiple view facility – Different views can be created on the same table for different users. Prepared By: Ms. Sushma Malik
  • 134.
  • 135.
    SQL INDEX  TheIndex in SQL is a special table used to speed up the searching of the data in the database tables. It also retrieves a vast amount of data from the tables frequently. The INDEX requires its own space in the hard disk.  For example, if you want to reference all pages in a book that discusses a certain topic, you first refer to the index, which lists all the topics alphabetically and are then referred to one or more specific page numbers.  An index helps to speed up SELECT queries and WHERE clauses, but it slows down data input, with the UPDATE and the INSERT statements.  In SQL, an Index is created on the fields of the tables. We can easily build one or more indexes on a table. The creation and deletion of the Index do not affect the data of the database. Prepared By: Ms. Sushma Malik
  • 136.
    Why SQL Index? The following reasons tell why Index is necessary in SQL:  SQL Indexes can search the information of the large database quickly.  This concept is a quick process for those columns, including different values.  This data structure sorts the data values of columns (fields) either in ascending or descending order. And then, it assigns the entry for each value.  Each Index table contains only two columns. The first column is row_id, and the other is indexed-column.  When indexes are used with smaller tables, the performance of the index may not be recognized. Prepared By: Ms. Sushma Malik
  • 137.
    Create an INDEXand Create UNIQUE INDEX  Here, Index_Name is the name of that index that we want to create, and Table_Name is the name of the table on which the index is to be created. The Column_Name represents the name of the column on which index is to be applied. Prepared By: Ms. Sushma Malik
  • 138.
    Rename an INDEXand Remove an INDEX Prepared By: Ms. Sushma Malik
  • 139.
    When should indexesbe avoided?  Although indexes are intended to enhance a database's performance, there are times when they should be avoided.  The following guidelines indicate when the use of an index should be reconsidered.  Indexes should not be used on small tables.  Tables that have frequent, large batch updates or insert operations.  Indexes should not be used on columns that contain a high number of NULL values.  Columns that are frequently manipulated should not be indexed.  When the table needs to be updated frequently. Prepared By: Ms. Sushma Malik
  • 140.
    SQL | SEQUENCES Sequence is a set of integers 1, 2, 3, … that are generated and supported by some database systems to produce unique values on demand.  A sequence is a user defined schema bound object that generates a sequence of numeric values.  Sequences are frequently used in many databases because many applications require each row in a table to contain a unique value and sequences provides an easy way to generate them.  The sequence of numeric values is generated in an ascending or descending order at defined intervals and can be configured to restart when exceeds max_value. Prepared By: Ms. Sushma Malik
  • 141.
    Prepared By: Ms.Sushma Malik
  • 142.
    Example to usesequence Prepared By: Ms. Sushma Malik
  • 143.
    SQL Trigger  Triggersare stored programs, which are automatically executed or fired when some events occur. Triggers are, in fact, written to be executed in response to any of the following events −  A database manipulation (DML) statement (DELETE, INSERT, or UPDATE)  A database definition (DDL) statement (CREATE, ALTER, or DROP).  A database operation (SERVERERROR, LOGON, LOGOFF, STARTUP, or SHUTDOWN).  Triggers can be defined on the table, view, schema, or database with which the event is associated. Prepared By: Ms. Sushma Malik
  • 144.
    Prepared By: Ms.Sushma Malik
  • 145.
    Types of SQLServer Triggers  We can categorize the triggers in SQL Server in mainly three types:  Data Definition Language (DDL) Triggers  Data Manipulation Language (DML) Triggers  Logon Triggers Prepared By: Ms. Sushma Malik
  • 146.
    DDL Triggers  DDLtriggers are fired in response to the DDL events, such as CREATE, ALTER, and DROP statements. We can create these triggers at the database level or server level, depending on the type of DDL events. It can also be executed in response to certain system-defined stored procedures that do DDL-like operations.  The DDL triggers are useful in the following scenario:  When we need to prevent the database schema from changing  When we need to audit changes made in the database schema  When we need to respond to a change made in the database schema Prepared By: Ms. Sushma Malik
  • 147.
    DML Triggers  DMLtriggers are fired in response to DML events like INSERT, UPDATE, and DELETE statements in the user's table or view. It can also be executed in response to DML-like operations performed by system-defined stored procedures.  The DML triggers can be classified into two types:  After Triggers  Instead Of Triggers  Prepared By: Ms. Sushma Malik
  • 148.
    After Triggers  Aftertrigger fires, when SQL Server completes the triggering action successfully, that fired it. Generally, this trigger is executed when a table completes an insert, update or delete operations. It is not supported in views. Sometimes it is known as FOR triggers.  We can classify this trigger further into three types:  AFTER INSERT Trigger  AFTER UPDATE Trigger  AFTER DELETE Trigger Prepared By: Ms. Sushma Malik
  • 149.
    Instead of Triggers Instead of Trigger fires before SQL Server begins to execute the triggering operation that triggered it. It means that no condition constraint check is needed before the trigger runs. As a result, even if the constraint check fails, this trigger will fire. It is the opposite of the AFTER trigger. We can create the INSTEAD OF triggers on a table that executes successfully but doesn't contain the table's actual insert, update, or delete operations.  We can classify this trigger further into three types:  INSTEAD OF INSERT Trigger  INSTEAD OF UPDATE Trigger  INSTEAD OF DELETE Trigger Prepared By: Ms. Sushma Malik
  • 150.
    Logon Triggers  Logontriggers are fires in response to a LOGON event. The LOGON event occurs when a user session is generated with an SQL Server instance, which is made after the authentication process of logging is completed but before establishing a user session. As a result, the SQL Server error log will display all messages created by the trigger, including error messages and the PRINT statement messages. If authentication fails, logon triggers do not execute. These triggers may be used to audit and control server sessions, such as tracking login activity or limiting the number of sessions for a particular login. Prepared By: Ms. Sushma Malik
  • 151.
    Advantages of Triggers The following are the advantages of using triggers in SQL Server:  Triggers set database object rules and roll back if any change does not satisfy those rules. The trigger will inspect the data and make changes if necessary.  Triggers help us to enforce data integrity.  Triggers help us to validate data before inserted or updated.  Triggers help us to keep a log of records.  Triggers increase SQL queries' performance because they do not need to compile each time they are executed.  Triggers reduce the client-side code that saves time and effort.  Triggers are easy to maintain. Prepared By: Ms. Sushma Malik
  • 152.
    Disadvantages of Triggers The following are the disadvantages of using triggers in SQL Server:  Triggers only allow using extended validations.  Triggers are invoked automatically, and their execution is invisible to the user. Therefore, it isn't easy to troubleshoot what happens in the database layer.  Triggers may increase the overhead of the database server.  We can define the same trigger action for multiple user actions such as INSERT and UPDATE in the same CREATE TRIGGER statement.  We can create a trigger in the current database only, but it can reference objects outside the current database. Prepared By: Ms. Sushma Malik
  • 153.
    Stored Procedures inSQL  Stored procedure is used to save time to write code again and again by storing the same in database and also get the required output by passing parameters.  Stored Procedures are created to perform one or more DML operations on Database. It is nothing but the group of SQL statements that accepts some input in the form of parameters and performs some task and may or may not returns a value. Prepared By: Ms. Sushma Malik
  • 154.
    Prepared By: Ms.Sushma Malik
  • 155.
    Features of StoredProcedures in SQL Server  The following are the features of stored procedure in SQL Server:  Reduced Traffic: A stored procedure reduces network traffic between the application and the database server, resulting in increased performance. It is because instead of sending several SQL statements, the application only needs to send the name of the stored procedure and its parameters.  Stronger Security: The procedure is always secure because it manages which processes and activities we can perform. It removes the need for permissions to be granted at the database object level and simplifies the security layers.  Reusable: Stored procedures are reusable. It reduces code inconsistency, prevents unnecessary rewrites of the same code, and makes the code transparent to all applications or users. Prepared By: Ms. Sushma Malik
  • 156.
    Features of StoredProcedures in SQL Server  Easy Maintenance: The procedures are easier to maintain without restarting or deploying the application.  Improved Performance: Stored Procedure increases the application performance. Once we create the stored procedures and compile them the first time, it creates an execution plan reused for subsequent executions. The procedure is usually processed quicker because the query processor does not have to create a new plan. Prepared By: Ms. Sushma Malik