2. Agenda
• Student & Courses Example
• Creating Database Tables
• Data Types
• Transact SQL Statements
– DML
3. 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
5. 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
11. 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
12. 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
14. SQL Operators
• Equality Operators
Operator Example Defined Result
=, IS 5=5 5 equal to 5? True
7 IS NOT (!=)
!=, IS NOT 7 != 2 True
equal to 2?
< 7<4 7 less than 4? False
> 7>4 greater than 4? True
Is 7 less than or
<= 7 <= 11 True
equal to 11?
Is 7 greater than
>= 7 >= 11 False
or equal to 11?
„enozom‟ like Contains the
Like True
„%e%‟ character „e‟
15. Joins
• Inner Join
Get students with their cities
Select StudentFirstName, CityName from student inner join city on
studenet.CityID= City.CityID
• Left join
Get All students with their cities and if it has no cities entered
Select StudentFirstName, CityName from student left outer join city
on studenet.CityID= City.CityID
16. 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
20. Aggregate Functions
• Sum
• Count
• Max
• Min
• AVG
• Gets the count of all students
Select Count (*) from student
21. 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
22. Sorting
• Select StudentFirstname, StudentMiddleName, StudentLastName
from student order by StudentFirstname, StudentMiddleName,
StudentLastName ASC
23. 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
In the following slide we are going to know 25 stupid mistakes that should be avoided to get better query readability, maintainability, security and performance.