database systems basic sql
DESCRIPTION
Database Systems Basic SQL. Outline. SQL Data Definition and Data Types Specifying Constraints in SQL Basic Retrieval Queries in SQL INSERT, DELETE, and UPDATE Statements in SQL Additional Features of SQL. Basic SQL. SQL language - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/1.jpg)
1
Database Systems
Basic SQL
![Page 2: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/2.jpg)
2
Outline
SQL Data Definition and Data Types
Specifying Constraints in SQL
Basic Retrieval Queries in SQL
INSERT, DELETE, and UPDATE Statements in SQL
Additional Features of SQL
![Page 3: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/3.jpg)
3
Basic SQL
SQL language Considered one of the major reasons for the
commercial success of relational databases SQL
Structured Query Language Statements for data definitions, queries, and
updates (both DDL and DML) SQL is not a programming language. SQL commands can be used interactively as a
query language within the DBMS or SQL commands can be embedded within programming languages.
![Page 4: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/4.jpg)
4
Types of SQL Commands
Data Definition Language (DDL): Commands that define a database - Create,
Alter, Drop
Data Manipulation Language (DML) Commands that maintain and query a
database.
Each statement in SQL ends with a semicolon
![Page 5: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/5.jpg)
5
SQL Concept Relational Concept
Table Relation
Row Tuple
Column Attribute
SQL Concept & Relational Concept Terminology:
Table, row, and column used for relational model terms relation, tuple, and attribute
![Page 6: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/6.jpg)
6
The CREATE TABLE Command CREATE statement
Main SQL command for data definition Specify a new relation
Provide name Specify attributes and initial constraints
Base tables (base relations) Relation and its tuples are actually created
and stored as a file by the DBMS
![Page 7: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/7.jpg)
7
The CREATE TABLE Command
Can optionally specify schema: CREATE TABLE COMPANY.EMPLOYEE ...or CREATE TABLE EMPLOYEE ...
Create the following relation: Student(SSN, Name, GPA, Age).
SQL> create table Student (2 SSN char(9) not null,3 Name varchar(20),4 GPA number(3,2), 5 Age number(2), 6 primary key (SSN));
![Page 8: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/8.jpg)
8
![Page 9: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/9.jpg)
9
![Page 10: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/10.jpg)
10
Attribute Data Types char(n) fixed length character string of length n
varchar(n) variable length characters of length up to n
number(n,m) integer and real values of up to n digits
number integer and real values of up to 40 digits
integer(n) integer of up to n digits
intege r integer of up to 40 digits
date yyyy-mm-dd (10 positions)
time typically in the form HH:MM:SS
![Page 11: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/11.jpg)
11
Domain Definitions CREATE DOMAIN <name> As <data-type>;
CREATE DOMAIN SSN-TYPE AS CHAR(9);
We can use SSN_TYPE in place of CHAR(9)
This style in writing SQL statements is preferred as it makes it easier to change the data types of attributes.
A domain can also have an optional default specification via default clause. CREATE DOMAIN DNO-DOM AS CHAR(2)
DEFAULT 01;
![Page 12: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/12.jpg)
12
Specifying Constraints in SQL
Constraints are rules or regulations imposed on data to ensure their integrity and correctness.
Constraints on individual columns.
Constraints on a table.
Constraints on multiple tables.
![Page 13: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/13.jpg)
13
Constraints on Columns (1)
Create table Book(
ISBN char(15) primary key,
Title varchar(50) unique,
Price number(5,2) check (Price>0),
Edition number(2) default 1 check (Edition > 0),
Publisher_name varchar(30) references Publisher(Name));
![Page 14: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/14.jpg)
14
Constraints on Individual Columns (2) type values must be of the given type not null no null value can be taken unique
Specifies alternate (secondary) keys Dname VARCHAR(15) UNIQUE;
no identical non-null values primary key
Specifies one or more attributes that make up the primary key of a relation
no null value and no identical values Dnumber INT PRIMARY KEY;
check constraint definition values must satisfy the check condition.
Dnumber INT NOT NULL CHECK (Dnumber > 0 AND Dnumber < 21);
![Page 15: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/15.jpg)
15
Constraints on Individual Columns (3)
Syntax for column definition:col_name data_type [default value] [constraints]
Syntax for column constraints:[constraint constraint_name][not] null | check condition |unique | primary key |references table_name [(column)][on delete cascade] [on update cascade]
![Page 16: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/16.jpg)
16
Create Table Example (4)
Create table Enrollment(
SSN char(9) references Students,
Crs_no varchar(7) not null,
Section_no number(2) not null,
Grade char,
primary key(SSN,Crs_no,Section_no),
foreign key (Crs_no,Section_no)references Section);
![Page 17: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/17.jpg)
17
Giving Names to Constraints
Syntax for table constraints:[constraint constraint_name]check condition |unique (column {, column}) | primary key (column {, column}) |foreign key (column {, column})references table_name[(column{, column)]
CHECK clauses at the end of a CREATE TABLE statement Apply to each tuple individually
CHECK (Dept_create_date <= Mgr_start_date);
![Page 18: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/18.jpg)
18
Giving Names to Constraints
Create table Graduate(SSN char(9) primary key,
Name varchar(30),
Address varchar(80),
Degree varchar(8) check (Degree in
{‘Bachelor’, ‘Master’, ‘Ph.D.’}),
GPA number (3,2) not null,
unique (Name, Address),
constraint ic12 check (GPA>=2.0 and (Degree=‘Bachelor’ or GPA>=3.0)));
![Page 19: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/19.jpg)
19
Disabling and Enabling a Constraint
Disabling a constraint: alter table Graduate disable constraint
ic12;
Enabling a constraint: alter table Graduate enable constraint
ic12;
![Page 20: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/20.jpg)
20
Basic Retrieval Queries in SQL SELECT statement
One basic statement for retrieving information from a database
![Page 21: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/21.jpg)
21
The SELECT-FROM-WHERE Basic form of the SELECT statement:
![Page 22: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/22.jpg)
22
The SELECT-FROM-WHERE Structure Logical comparison operators
=, <, <=, >, >=, and <>
Projection attributes Attributes whose values are to be retrieved
Selection condition Boolean condition that must be true for any
retrieved tuple
![Page 23: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/23.jpg)
23
![Page 24: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/24.jpg)
24
![Page 25: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/25.jpg)
25
The SELECT-FROM-WHERE
Find the SSN, Name and GPA of all students whose GPA is higher than 3.8.
Select SSN, Name, GPAFrom StudentsWhere GPA > 3.8;
Select all EMPLOYEE SSNs.SELECT SSNFROM EMPLOYEE;
Select all combinations of Employee SSNs and Department Dname.
SELECT SSN, DNAMEFROM EMPLOYEE, DEPARTMENT;
![Page 26: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/26.jpg)
26
The SELECT-FROM-WHERE
Select all attributes of employees who work for department number 5;
SELECT * FROM EMPLOYEEWHERE DNO = 5;
Find the names and GPAs of all students who take database systems.Select Name, GPAFrom Student, Enrollment, CourseWhere Title = `database systems` and Students.SSN = Enrollment.SSN and Enrollment.Course_no=Courses.Course_no;
![Page 27: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/27.jpg)
27
Ambiguous Attribute Names Same name can be used for two (or more)
attributes As long as the attributes are in different
relations Must qualify the attribute name with the
relation name to prevent ambiguityEMPLOYEE(SSN, Name, …., DNo)DEPARTMENT(DNo, Name, …)
![Page 28: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/28.jpg)
28
Aliasing, Renaming, and Tuple Variables Aliases or tuple variables
Declare alternative relation names E and S EMPLOYEE AS E(Fn, Mi, Ln, Ssn, Bd, Addr, Sex, Sal, Sssn, Dno)
![Page 29: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/29.jpg)
29
Dealing with Aliasing (1)
For each employee retrieve the employee’s first and last name and the first and last name of his or her immediate advisor.
SELECT E.Fname, E.Lname, S.Fname, S.LnameFROM Employee E, Employee SWHERE E.SuperSSN = S.SSN;
We may write Employee AS E
Note that aliases can be used to shorten queries by giving short names to relations.
![Page 30: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/30.jpg)
30
Dealing with Aliasing (2)
We may alias attributes as well. Employee(Name, Address, Supervisor, Dept) Q1:
Select NA, Adr, S, Dept FROM EMPLOYEE AS E(NA, Adr, S, D)
Or this Select Name NA, Address adr, Supervisor
S, Dept DFROM EMPLOYEE;
Find the names and GPAs of all students who take database systems. Select Name, GPA
From Student S, Enrollment E, Course C Where Title=`database systems‘ and
S.SSN=E.SSN and E.Course_no=C.Course_no
![Page 31: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/31.jpg)
31
Dealing with Aliasing (3)
Find all pairs of students who have the same GPA.
select s1.SSN, s2.SSN from Student s1, Student s2 where s1.GPA=s2.GPA and
s1.SSN<s2.SSN;
Question: Why use “s1.SSN < s2.SSN”?
![Page 32: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/32.jpg)
32
Dealing with Aliasing (4)
Find the names of all students whose GPA is higher than Tom's GPA.
select s1.Name from Students s1, Students s2
where s2.Name=‘Tom’ and s1.GPA>s2.GPA;
Question: Is a student qualified if his/her GPA is higher
than some Tom's GPAs but not all Tom's GPAs?
![Page 33: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/33.jpg)
33
Renaming SELECT Attributes
SQL allows us to rename SELECT attributes This does not significantly change the results of
a query, but it does allow us to control the headings of the columns displayed on reports
SELECT FNAME AS FN, LNAME AS LNFROM EMPLOYEEWHERE SUPERSSN IS NULL
The same tuples will be selected as for the last query, but now the columns will be labeled FN and LN instead of FNAME and LNAME.
![Page 34: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/34.jpg)
34
Unspecified WHERE Clauseand Use of the Asterisk
Missing WHERE clause Indicates no condition on tuple selection
CROSS PRODUCT All possible tuple combinations
![Page 35: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/35.jpg)
35
Unspecified WHERE Clauseand Use of the Asterisk (cont’d.)
Specify an asterisk (*) Retrieve all the attribute values of the selected
tuples
![Page 36: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/36.jpg)
36
Unspecified Where Clause & Use of Asterisk
To retrieve all attributes of a relation, use the shorthand * To retrieve all the attribute values of the selected tuples, a * is
used, which stands for all the attributes Find all students whose GPA is higher than 3.8. select * from Students where GPA >
3.8;
The where-clause may be absent. Find the Names of all students.
select Name from Students; Select all EMPLOYEE SSNs.
SELECT SSN FROM EMPLOYEE;
![Page 37: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/37.jpg)
37
Unspecified Where clause A missing WHERE-clause indicates no condition;
hence, all tuples of the relations in the FROM-clause are selected
This is equivalent to the condition WHERE TRUE
Retrieve the SSN values for all employees.SELECT SSN FROM EMPLOYEE;
If more than one relation is specified in the FROM-clause and there is no join condition, then the CARTESIAN PRODUCT of tuples is selected
![Page 38: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/38.jpg)
38
Use of Asterisk Retrieve all the attributes of an employee and the
attributes of the department he/she works in for every employee of the “Research” department.
SELECT * FROM Employee, Department
WHERE Dname = “Research” AND DNO = Dnumber;
Specify (retrieve) the cross product of the Employee and Department relations;
SELECT * FROM Employee, Department;
Select all combinations of Employee SSNs and Department Dname.
SELECT SSN, DNAME FROM EMPLOYEE, DEPARTMENT;
![Page 39: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/39.jpg)
39
Tables as Sets in SQL SQL does not automatically eliminate duplicate tuples in query
results Use the keyword DISTINCT in the SELECT clause
Only distinct tuples should remain in the result Find the Names of all students without duplicate rows.
Select distinct Name from Student; Select all can be used to explicitly request that all
duplicate rows are kept. Is the following query an efficient query? select distinct SSN, Name from Student Retrieve the salary for every employee.
duplicates may appearSELECT Salary FROM Employee;
duplicates will be eliminatedSELECT DISTINCT Salary FROM Employee;
![Page 40: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/40.jpg)
40
Tables as Sets in SQL (cont’d.) Set operations
UNION, EXCEPT (difference), INTERSECT Corresponding multiset operations: UNION ALL,
EXCEPT ALL, INTERSECT ALL) union removes duplicate rows. union all keeps duplicate rows.
![Page 41: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/41.jpg)
41
Substring Pattern Matching and Arithmetic Operators
LIKE comparison operator Used for string pattern matching % replaces an arbitrary number of zero or more
characters underscore (_) replaces a single character
Standard arithmetic operators: Addition (+), subtraction (–), multiplication
(*), and division (/) BETWEEN comparison operator
![Page 42: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/42.jpg)
42
Substring Pattern Matching
Find the course numbers and titles of all courses whose title contains “systems”.
select Course_no, Title from Courseswhere Title like `%systems%`;
% matches 0 or more characters.
![Page 43: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/43.jpg)
43
Substring Pattern Matching
Find all students whose name starts with M and is six-character long.
select * from Studentswhere Name like `M_ _ _ _
_`;
_ matches exactly one character not like is the opposite of like.
Find all students whose name contains a _. select * from Students where Name like `%\_ %`;
![Page 44: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/44.jpg)
44
Substring Pattern Matching
Retrieve all employees whose address in Housten, Texas.
SELECT Fname, LnameFROM EmployeeWHERE Address LIKE ’%Houston, TX%’;
Find all employees who were born during the 1950s.
SELECT Fname, LnameFROM EmployeeWHERE Bdate LIKE ’195_ _ _ _ _’;
![Page 45: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/45.jpg)
45
Arithmetic Operators
Show resulting salaries if every employee working on the ‘productX’ project is given a 10% raise.
SELECT Fname, Lname, 1.1*SalaryFROM Employee, Works_on, ProjectWHERE SSN = ESSN AND PNO = Pnumber AND Pname=“ProductX”;
Find the names of all students whose GPA is between 3.5 and 3.8, inclusive.
select Name from Students where GPA between 3.5 and 3.8;
not between ... and … is the opposite of between … and ...
![Page 46: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/46.jpg)
46
Arithmetic Operators
Employees (SSN, Name, Salary) Find the SSN, name and annual salary of each
employee.
select SSN, Name, 12*Salary from Employees;
orselect SSN, Name,12*Salary as Annual_Salary
from Employees;
![Page 47: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/47.jpg)
47
Ordering of Query Results Use ORDER BY clause
Keyword DESC to see result in a descending order of values
Keyword ASC to specify ascending order explicitly
ORDER BY D.Dname DESC, E.Lname ASC, E.Fname ASC
![Page 48: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/48.jpg)
48
Ordering Tuples
Find the names of all students and order the names in ascending order.
select Name from Studentsorder by Name asc;
ascending order is the default in order by clause.
We can write:order by Dname desc, Lname ASC, Fname ASC
![Page 49: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/49.jpg)
49
Ordering Tuples
Find all the students whose GPA is higher than 3.5 and order the result in descending order by GPA, and for students having the same GPA, order them in ascending order by their names.
select * from Students where GPA > 3.5 order by GPA desc, Name asc;
![Page 50: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/50.jpg)
50
Ordering Tuples
Retrieve a list of employees and the projects they are working on, ordered by department and, within each department, alphabetically by last name, first name;
SELECT Dname, Lname, Fname, Pname
FROM Department, Employee, Works_on, Project
WHERE Dnumber=DNO AND SSN=ESSN AND PNO=Pnumber
ORDER BY Dname, Lname, Fname;
![Page 51: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/51.jpg)
51
Discussion and Summaryof Basic SQL Retrieval Queries
![Page 52: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/52.jpg)
52
INSERT, DELETE, and UPDATE Statements in SQL
Three commands used to modify the database: INSERT, DELETE, and UPDATE
Relation schemas under consideration: Student(SSN, Name, GPA, Age) Course(CNo, Title, DName) Enrollment(SSN, CNo, Grade)
![Page 53: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/53.jpg)
53
The INSERT Command Specify the relation name and a list of values for
the tuple
![Page 54: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/54.jpg)
54
Insert
In its simplest form, it is used to add one or more tuples to a relation
Attribute values should be listed in the same order as the attributes were specified in the CREATE TABLE command.
Syntax: insert into table_name [(column {, column})] [values (expression {, expression})] | [Subselect]
Multiple tuples can be inserted with the same INSERT command, tuples are separated by commas and enclosed between ( and ).
![Page 55: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/55.jpg)
55
Insert
Add a new student (123, Ali, null, 22) to the student table Student(SSN, Name, GPA, Age).insert into Students values (`123`,`Ali`,null,22); Order of values should agree with the original
definition of Student. or
insert into student(name, ssn, age) values (`Ali`,`123`,22)
Attributes with NULL and DEFAULT values can be left out.
![Page 56: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/56.jpg)
56
Insert
Insert two tuples into the Students tableinsert into Students values (‘111223333’, ‘Smith’, 3.45, 23)
(‘444556666’, ‘Maria’, 3.60, 22);
Suppose table Top_Students (SSN, Name, GPA) has been created.
Find all students whose GPA is 3.8 or higher and save the result in the Top_Students table.insert into Top_Students select SSN, Name,
GPA from Student where GPA >= 3.8;
![Page 57: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/57.jpg)
57
Insert
CREATE TABLE DEPTS-INFO(DNAME VARCHAR(15),
NO-OF-EMPS INTEGER, TOTTAL-SAL INTEGER);
INSERT INTO DEPTS-INFO (DNAME, NO-OF-EMPS, TOTAL-SAL) SELECT DNAME, count(*),
sum(SALARY) FROM DEPARTMENT, EMPOYEE
WHERE DNUMBER = DNO GROUP BY DNAME;
![Page 58: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/58.jpg)
58
INSERT INTO COURSE(COURSE_CODE, CREDIT_HOURS)VALUES (‘MIS499’,4);
INSERT INTO COURSEVALUES (‘MIS499’,’’,4);
INSERT INTO COURSEVALUES (‘MIS499’,NULL,4);
COLUMN LIST IS NEEDED IF YOU PLAN TO LEAVE OUT A VALUE IN THE VALUE LIST
COLUMN LIST CAN BE OMITTEDIF YOU PUT IN A BLANK VALUE
THE NULL KEYWORD CANBE USED TO CREATE A BLANKCOLUMN
ALL OF THESE ASSUME THAT THE DATABASE ALLOWS THE COLUMN TOBE NULL. YOU CANNOT LEAVE PRIMARY KEYS BLANK
Inserting Null Data
![Page 59: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/59.jpg)
59
Delete Removes tuples from a relation Includes a WHERE-clause to select the tuples to be
deleted Tuples are deleted from only one table at a time (unless
CASCADE is specified on a referential integrity constraint)
A missing WHERE-clause specifies that all tuples in the relation are to be deleted; the table then becomes an empty table
The number of tuples deleted depends on the number of tuples in the relation that satisfy the WHERE-clause
Referential integrity should be enforced
![Page 60: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/60.jpg)
60
Delete Syntax: delete from table_name [where search_condition]
Delete all tuples from Students. delete from Students;
The schema of Students remains.
Delete all students who take no courses.
delete from Students where SSN not in (select SSN from
Enrollment);
![Page 61: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/61.jpg)
61
The DELETE Command Removes tuples from a relation
Includes a WHERE clause to select the tuples to be deleted
![Page 62: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/62.jpg)
62
Delete
DELETE FROM Employee WHERE Lname = ‘Brown’;
DELETE FROM Employee where SSN = ‘123456789’
DELETE FROM EMPLOYEE WHERE DNO IN (SELECT Dnumber FROM
Department WHERE Dname = ‘Research’);
![Page 63: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/63.jpg)
63
Update
Used to modify attribute values of one or more selected tuples
A WHERE-clause selects the tuples to be modified
An additional SET-clause specifies the attributes to be modified and their new values
Each command modifies tuples in the same relation
Referential integrity should be enforced Syntax:
update table_name set column = {expression | null} {, column = {expression | null}}[where search_condition]
![Page 64: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/64.jpg)
64
Update
Increase the GPA of the student with SSN=123 by 0.5.
update Studentset GPA = GPA + 0.5 where SSN = '123';
Set the Grade of every student who takes database systems to be A.
update Enrollment set Grade = 'A' where CNo in (select CNo from Course where title='database systems');
![Page 65: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/65.jpg)
65
Update
Change the location and controlling department number of project number 10 to 'Bellaire' and 5, respectively.UPDATE ProjectSET Plocation = ‘Bellaire’, Dnum = 5 WHERE Pnumber=10;
Give all employees in the 'Research' department a 10% raise in salary.UPDATE Employee
SET Salary = Salary * 1.1 WHERE DNO IN (SELECT Dnumber FROM Department WHERE Dname = ‘Research’);
![Page 66: Database Systems Basic SQL](https://reader036.vdocuments.net/reader036/viewer/2022081503/56816083550346895dcfad07/html5/thumbnails/66.jpg)
66
The UPDATE Command Modify attribute values of one or more selected
tuples Additional SET clause in the UPDATE command
Specifies attributes to be modified and new values