Programmering - SQL Language

(2 dagar)

SQL is an industry-standard language for accessing mainframe, midrange and LAN-based, multi-user relational databases. This course will teach the student 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. 

On completion, delegates 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
Who Should Attend
Anyone wishing to use SQL to access data. This course is a common prerequisite for those going on our client/server or database courses. However, our Oracle SQL course is recommended for those who will be using Oracle specifically. 

Course Style
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. 

No prerequisite knowledge required at all. 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 students will have coded in some other language but it is not necessary to have done so to be successful on this course. The course is constructed with a view to being able to cope with students who may wish to move at a faster or slower pace than others. 


Course Content

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

Joining tables
The theory of joining tables; Cross, Inner, Outer, Full, Left and Right; Composite joins; Table aliases; SQL92 and SQL89 Join syntax

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

Summarised Queries
Table aggregates; GROUP BY and aggregates; The HAVING clause

Using simple Subqueries; EXISTS; Correlated Subqueries

Further Data Manipulation Language
Unions; Self joins

Data Control Language
Identifying users; Setting privileges; GRANT and REVOKE