SQL is an industry-standard language for accessing mainframe, midrange and LAN-based, multi-user relational databases. This course will teach the delegate how to read and write good SQL for querying, updating and maintaining SQL databases. The course progresses through the elements of the language to build a thorough appreciation and understanding of SQL's capabilities and power. It covers ANSI-standard SQL and some of the common extensions.
This course is made up of a mix of theory and practical sessions. You will complete a series of exercises that cover all the important components of the language and allow you to practise your SQL.
Please Note: The course will use a Microsoft SQL Server platform and T-SQL in all labs and practices to illustrate the use of the SQL language
This course is suitable for anyone wishing to use SQL to access data. This course is a common prerequisite for those going on our client/server or database courses.
- A degree of computer literacy is needed.
- Typically delegate skills will include a working familiarity with the Windows graphical environment but no prior knowledge of SQL.
- The most successful students on this course are those who can type accurately and consistently, and can cope with 'syntax' as SQL is a syntactically 'fussy' language.
- Typically delegates will have coded in some other language but it is not necessary to have done so to be successful on this course as the range of exercises allow students to work at the most appropriate pace for them.
At the end of this course you will be able to:
- describe where the SQL language came from and its set-based mode of operation
- write SQL statements to create and manipulate database objects and data
- read SQL effectively
- write queries to join many related tables
- use the features of the language to safeguard the data and its value to the user
- recognise the dangers inherent in the language that may return the right result but would be fatally flawed with different data
Course Outline:Introduction to Relational Databases
•The need for an SQL standard; The ANSI standards; What is a database?; What is a relational database?; Components of a relational database; Normalised data; Anatomy of a table; Primary and foreign keys; Joins; Components of SQL
Data Manipulation Language
•SELECT operations; DISTINCT; Virtual columns; Column aliases; Functions; Restricting the rows returned; Multiple conditions; Ordering data; Inserting rows; Updating rows; Deleting rows
•The theory of joining tables; Cross, Inner, Outer, Full, Left and Right; Composite joins; Table aliases;
Data Definition Language
•Data types; Column attributes; Create table; Primary and foreign keys; Referential integrity; Alter and drop tables
•Defining simple views; Views with virtual columns; Restricted-column views; Joined-table views; Restricted-row views; View restrictions
•Table aggregates; GROUP BY and aggregates; The HAVING clause
•Using simple Subqueries; EXISTS; Correlated Subqueries
•Union; Intersect; Except/Minus