sql server lecture 2
DESCRIPTION
TRANSCRIPT
SQL Server 2008Lecture 2Hazem TorabCEO, Founder Enozom Software
Agenda• Student & Courses Example
• Creating Database Tables
• Data Types
• Transact SQL Statements– DML
Students & Courses Example• Problem Statement
A training center that teaches training courses for students is asking you to make a database for them.
Every student can register for one or more course, the courses are usually opened once every a month. For example “Windows 7” course is available on 1/1/2013 and 1/2/2013.
Some course can’t be registered for a student without passing other courses for example for “SQL Server” course student must pass “Windows 7” & “Database” courses
Write Down Your Design
Creating Database Tables• Before you start, disable the prevention of saving changes
that require table re-creation from Tools->options->Designers-> tables and database diagrams
Creating Database Tables• Right click on tables in your database
• Type your column names
Creating Database Tables• Set Your Primary Key
• Choose the suitable Data Type
Creating Database Tables• Create Relations
Creating Database Tables• Create Relations
Complete Design
SQL Server Data Types• Main Data Types
– Int– DateTime– Decimal– Money– Float– Varchar– Nvarchar– XML– Bit– Text
• http://www.connectionstrings.com/Articles/Show/sql-server-data-type-reference
Transact SQL – Data Manipulation Language• Select
Select CourseID, CourseName from Course
• Insert
Insert into Course (CourseName) values (‘Windows’)
• Update
Update Course Set Course= ‘Windows 7’ where CourseID = 1
• Delete
Delete Course where CourseID = 1
SQL Operators• Mathematical Operators
SELECT 15 + 4, --Addition 15 - 4, --Subtraction 15 * 4, --Multiplication 15 / 5, -- Division 15 % 4; --Modulus
SQL Operators• Equality Operators
Operator Example Defined Result
=, IS 5 = 5 5 equal to 5? True
!=, IS NOT 7 != 2 7 IS NOT (!=) equal to 2? True
< 7 < 4 7 less than 4? False
> 7 > 4 greater than 4? True
<= 7 <= 11 Is 7 less than or equal to 11? True
>= 7 >= 11Is 7 greater than or equal to 11?
False
Like ‘enozom’ like ‘%e%’
Contains the character ‘e’ True
Joins• Inner Join
Get students with their citiesSelect StudentFirstName, CityName from student inner join city on studenet.CityID= City.CityID
• Left joinGet All students with their cities and if it has no cities enteredSelect StudentFirstName, CityName from student left outer join city on studenet.CityID= City.CityID
Joins• Right Join
Get All cities whether it has no students Select StudentFirstName, CityName from student right outer join city on studenet.CityID= City.CityID
• Cross Join Get All cities whether it has no students and all student whether it has no city Select StudentFirstName, CityName from student right outer join city on studenet.CityID= City.CityID
Using Query Editor for Complex Queries
Using Query Editor
Select Tables and Filters
Aggregate Functions• Sum
• Count
• Max
• Min
• AVG
• Gets the count of all students
Select Count (*) from student
Grouping
• Gets the count of student in each city
Select CityName, Count(*) from student inner join city on
student.cityid = city.cityid
Group by CityName
Sorting
• Select StudentFirstname, StudentMiddleName,
StudentLastName from student order by StudentFirstname,
StudentMiddleName, StudentLastName ASC
Exercise• Get list of student registered in specific course
• Get Number of student registered in each group for course ‘Windows 7’
• Get number of student in each city while their firstname starts with ‘A’
• Get the total fees that spent for each student
• Get the collected money for each course
Thank YouHazem Torab
http://www.enozom.com
https://www.facebook.com/Enozom