SQL Structured Query Language Introduction

Similar documents
1 SQL Structured Query Language

1 SQL Structured Query Language

GIFT Department of Computing Science Data Selection and Filtering using the SELECT Statement

CS2 Current Technologies Lecture 2: SQL Programming Basics

SQL. Char (30) can store ram, ramji007 or 80- b

Objectives. After completing this lesson, you should be able to do the following:

Part III. Data Modelling. Marc H. Scholl (DBIS, Uni KN) Information Management Winter 2007/08 1

CS2 Current Technologies Lecture 3: SQL - Joins and Subqueries

CS2 Current Technologies Note 1 CS2Bh

Creating and Managing Tables Schedule: Timing Topic

5 Integrity Constraints and Triggers

Chapter 4. Basic SQL. Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Simple SQL. Peter Y. Wu. Dept of Computer and Information Systems Robert Morris University

Chapter 4. Basic SQL. SQL Data Definition and Data Types. Basic SQL. SQL language SQL. Terminology: CREATE statement

Why Relational Databases? Relational databases allow for the storage and analysis of large amounts of data.

Databases. Relational Model, Algebra and operations. How do we model and manipulate complex data structures inside a computer system? Until

Based on the following Table(s), Write down the queries as indicated: 1. Write an SQL query to insert a new row in table Dept with values: 4, Prog, MO

Database Foundations. 6-3 Data Definition Language (DDL) Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Databases - 4. Other relational operations and DDL. How to write RA expressions for dummies

GIFT Department of Computing Science. [Spring 2016] CS-217: Database Systems. Lab-3 Manual. Single Row Functions in SQL

KENDRIYA VIDYALAYA ALIGANJ SHIFT-II HOLIDAY HOMEWORK CLASS-XII INFORMATICS PRACTICES

Chapter 3: Introduction to SQL. Chapter 3: Introduction to SQL

King Fahd University of Petroleum and Minerals

Basic SQL. Dr Fawaz Alarfaj. ACKNOWLEDGEMENT Slides are adopted from: Elmasri & Navathe, Fundamentals of Database Systems MySQL Documentation

Slides by: Ms. Shree Jaswal

Introduction to SQL. ECE 650 Systems Programming & Engineering Duke University, Spring 2018

THE INDIAN COMMUNITY SCHOOL, KUWAIT

Key Points. COSC 122 Computer Fluency. Databases. What is a database? Databases in the Real-World DBMS. Database System Approach

Programming Languages

Database implementation Further SQL

Database Management System. * First install Mysql Database or Wamp Server which contains Mysql Databse.

COSC 304 Introduction to Database Systems SQL DDL. Dr. Ramon Lawrence University of British Columbia Okanagan

Tables From Existing Tables

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas

Real-World Performance Training SQL Introduction

Database Compatibility for Oracle Developers Tools and Utilities Guide

Creating SQL Tables and using Data Types

Chapter 3: Introduction to SQL

QQ Group

GIFT Department of Computing Science. CS-217: Database Systems. Lab-4 Manual. Reporting Aggregated Data using Group Functions

Downloaded from

Table : Purchase. Field DataType Size Constraints CustID CHAR 5 Primary key CustName Varchar 30 ItemName Varchar 30 PurchaseDate Date

Full file at

COSC 304 Introduction to Database Systems SQL. Dr. Ramon Lawrence University of British Columbia Okanagan

Relational Model History. COSC 416 NoSQL Databases. Relational Model (Review) Relation Example. Relational Model Definitions. Relational Integrity

Department of Computer Science and Information Systems, College of Business and Technology, Morehead State University

Objectives. After completing this lesson, you should be able to do the following:

The SQL data-definition language (DDL) allows defining :

INTERNATIONAL INDIAN SCHOOL, RIYADH XI XII BOYS SECTION

SQL STRUCTURED QUERY LANGUAGE

HOW TO CREATE AND MAINTAIN DATABASES AND TABLES. By S. Sabraz Nawaz Senior Lecturer in MIT FMC, SEUSL

Basic SQL. Basic SQL. Basic SQL

Outline. Textbook Chapter 6. Note 1. CSIE30600/CSIEB0290 Database Systems Basic SQL 2

CSIE30600 Database Systems Basic SQL 2. Outline

COGS 121 HCI Programming Studio. Week 03 - Tech Lecture

COSC 122 Computer Fluency. Databases. Dr. Ramon Lawrence University of British Columbia Okanagan

INTERNATIONAL INDIAN SCHOOL, RIYADH XI XII BOYS SECTION. Subject- Informatics Practices

Chapter 8 SQL-99: Schema Definition, Basic Constraints, and Queries

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

SQL. - single row functions - Database Design ( 데이터베이스설계 ) JUNG, Ki-Hyun ( 정기현 )

Deepak Bhinde PGT Comp. Sc.

SQL. SQL DDL Statements

Restricting and Sorting Data. Copyright 2004, Oracle. All rights reserved.

Pivot Tables Motivation (1)

Create Rank Transformation in Informatica with example

Databases IIB: DBMS-Implementation Exercise Sheet 13

Chapter 9: Working with MySQL

SQL Queries. COSC 304 Introduction to Database Systems SQL. Example Relations. SQL and Relational Algebra. Example Relation Instances

Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See for conditions on re-use "

RESTRICTING AND SORTING DATA

RDBMS Using Oracle. BIT-4 Lecture Week 3. Lecture Overview

Introduction. Introduction to Oracle: SQL and PL/SQL

ECE 650 Systems Programming & Engineering. Spring 2018

Downloaded from

Chapter 3: Introduction to SQL

SQL-99: Schema Definition, Basic Constraints, and Queries. Create, drop, alter Features Added in SQL2 and SQL-99

Insertions, Deletions, and Updates

Practical Workbook Database Management Systems

Using the Set Operators. Copyright 2006, Oracle. All rights reserved.

Getting Information from a Table

Unit 1 - Chapter 4,5

ITEC212 Database Management Systems Laboratory 2

Oracle Database SQL Basics

D B M G. SQL language: basics. Managing tables. Creating a table Modifying table structure Deleting a table The data dictionary Data integrity

IBM A Assessment: DB2 9 Fundamentals-Assessment. Download Full Version :

2) SQL includes a data definition language, a data manipulation language, and SQL/Persistent stored modules. Answer: TRUE Diff: 2 Page Ref: 36

COMP 430 Intro. to Database Systems

IBM DB2 9 Family Fundamentals. Download Full Version :

Trigger is a stored procedure which is called implicitly by oracle engine whenever a insert, update or delete statement is fired.

To understand the concept of candidate and primary keys and their application in table creation.

An Introduction to Structured Query Language

CSC Web Programming. Introduction to SQL

Restricting and Sorting Data. Copyright 2004, Oracle. All rights reserved.

STRUCTURED QUERY LANGUAGE (SQL)

CS 338 Basic SQL Part II

Database Modelling. Lecture 5 Part 1: Updating Database 1/6/2015 1

Informatics Practices (065) Sample Question Paper 1 Section A


SQL (Structured Query Language)

CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen

Transcription:

SQL Structured Query Language Introduction Rifat Shahriyar Dept of CSE, BUET

Tables In relational database systems data are represented using tables (relations). A query issued against the database also results in a table. A table has the following structure: SQL uses the terms table, row, and column for relation, tuple, and attribute, respectively. 2

Basic data types char(n): Fixed length character data (string), n characters long. The maximum size for n is 2000 bytes. Note that a string of type char is always padded on right with blanks to full length of n. (memory consuming) Example: char(40) varchar2(n): Variable length character string. The maximum size for n is 4000 bytes. Only the bytes used for a string require storage. Example: varchar2(80) 3

Basic data types number(o, d): Numeric data type for integers and reals. o is the precision= total number of significant digits d is the scale = the number of digits from the decimal point to the least significant digit Maximum values: o =38, d= 84 to +127. Examples: number(8), number(5,2) Note that, number(5,2) cannot contain anything larger than 999.99 without resulting in an error. Data types derived from number are int[eger], dec[imal], smallint, float and real. 4

Number format number(o, d): positive scale (d) is the number of digits to the right of the decimal point including the least significant digit which is the right most digit after the decimal point negative scale (d) is the number of significant digits to the left of the decimal point, to but not including the least significant digit. For positive scale (d) the least significant digit actual data is rounded to the specified number of places to the right or left of the decimal point. For example, a specification of (10, 2) means to round to hundreds. 5

Number examples The value 7,456,123.89 will display as follows: number(9) 7456124 number(9,1) 7456123.9 number(*,1) 7456123.9 number(9,2) 7456123.89 number(6) [not accepted exceeds precision] number(7, 2) 7456100 number 7456123.89 float 7456123.89 float(12) 7456000.0 6

Basic data types date: Date data type for storing date and time. The default format for a date is: DD MMM YY. Examples: 13 OCT 94, 07 JAN 98 long: Character data up to a length of 2GB. In Oracle SQL there is no data type boolean. It can, however, be simulated by using either char(1) or number(1). 7

Example Tables EMP EMPNO: number(4) ENAME: varchar2(30) JOB: char(10) MGR: number(4) HIREDATE: date SAL: number(7,2) DEPTNO: number(2) 8

Example Tables DEPT SALGRADE 9

Create Table The SQL command for creating an empty table has the following form: 10

Constraints The definition of a table may include the specification of integrity constraints. Basically two types of constraints are provided: column constraints are associated with a single column table constraints are typically associated with more than one column. The specification of a (simple) constraint has the following form: [constraint <name>] primary key unique not null 11

Constraints A primary key constraint enables a unique identification of each tuple in a table. Based on a primary key, the database system ensures that no duplicates appear in a table. create table EMP ( EMPNO number(4) constraint pk_emp primary key,... ) It defines the attribute EMPNO as the primary key for the table. Each value for the attribute EMPNO thus must appear only once in the table EMP. A table may only have one primary key and null values are not allowed. 12

Sample Table Creation We want to create a table called PROJECT to store information about projects. For each project, we want to store the number and the name of the project the employee number of the project s manager the number of persons working on the project, and the budget and the start and end date of the project. Furthermore, we have the following conditions: a project is identified by its project number the name of a project must be unique the manager and the budget must be defined. 13

Sample Table Creation create table PROJECT ( PNO number(3) constraint prj_pk primary key, PNAME varchar2(60) unique, PMGR number(4) not null, PERSONS number(5), BUDGET number(8,2) not null, PSTART date, PEND date ) 14

Default Instead of a not null constraint it is sometimes useful to specify a default value for an attribute if no value is given ( for example: when a tuple is inserted) For this, we use the default clause For example: If no start date is given when inserting a tuple into the table PROJECT, the project start date should be set to January 1st, 1995: PSTART date default( 01 JAN 95 ) 15

Queries In SQL a query has the following (simplified) form (components in brackets [ ] are optional): 16

Queries The columns to be selected from a table are specified after the keyword select. This operation is also called projection. select LOC, DEPTNO from DEPT If all columns should be selected, the asterisk symbol * can be used to denote all attributes. select * from EMP Instead of an attribute name, the select clause may also contain arithmetic expressions involving arithmetic operators etc. select ENAME, DEPTNO, SAL*1.55 from EMP 17

Queries : distinct Consider the query select DEPTNO from EMP It retrieves the department number for each tuple. Typically, some numbers will appear more than only once in the query result, that is, duplicate result tuples are not automatically eliminated. Inserting the keyword distinct after the keyword select, however, forces the elimination of duplicates from the query result. select distinct DEPTNO from EMP 18

Queries : order by It is also possible to specify a sorting order in which the result tuples of a query are displayed. For this the order by clause is used and which has one or more attributes listed in the select clause as parameter. desc specifies a descending order and asc specifies an ascending order (this is also the default order). For example, select ENAME, DEPTNO, HIREDATE from EMP order by DEPTNO [asc], HIREDATE desc 19

Queries : where clause If one is interested in tuples that satisfy certain conditions, the where clause is used. List the job title and the salary of those employees who earn more than 1500: select JOB, SAL from EMP where SAL > 1500 List the job title and the salary of those employees who earn more than 1500 and whose manager has the number 7698 or 7566 select JOB, SAL from EMP where (MGR = 7698 or MGR = 7566) and SAL > 1500 20

Queries : where clause For all data types, the comparison operators =,!= or <>,<, >,<=, => are allowed in the conditions of a where clause. Further comparison operators are: Set Conditions: <column> [not] in (<list of values>) select * from DEPT where DEPTNO in (20,30) Null value: <column> is [not] null, i.e., for a tuple to be selected there must (not) exist a defined value for this column. select * from EMP where MGR is not null Note: the operations = null and! = null are not defined! 21

Queries : where clause Domain conditions: <column> [not] between <lower bound> and <upper bound> select EMPNO, ENAME, SAL from EMP where SAL between 1500 and 2500 select ENAME from EMP where HIREDATE between 02 APR 81 and 08 SEP 81 22

Data Modifications : Insertion The most simple way to insert a tuple into a table is to use the insert statement insert into PROJECT(PNO, PNAME, PERSONS, BUDGET, PSTART) values(313, DBS, 4, 150000.42, 10 OCT 94 ) or insert into PROJECT values(313, DBS, 7411, null, 150000.42, 10 OCT 94, null) 23

Data Modifications : Insertion If there are already some data in other tables, these data can be used for insertions into a new table. For this, we write a query whose result is a set of tuples to be inserted. Such an insert statement has the form create table OLDEMP ( ENO number(4) not null, HDATE date) 24

Data Modifications : Insertion We now can use the table EMP to insert tuples into this new relation: insert into OLDEMP (ENO, HDATE) select EMPNO, HIREDATE from EMP where HIREDATE < 31 DEC 60 25

Data Modifications: Update For modifying attribute values of (some) tuples in a table, we use the update statement: An update statement without a where clause results in changing respective attributes of all tuples in the specified table. 26

Data Modifications: Update The employee JONES is transferred to the department 20 as a manager and his salary is increased by 1000: update EMP set JOB = MANAGER, DEPTNO = 20, SAL = SAL +1000 where ENAME = JONES All employees working in the departments 10 and 30 get a 15% salary increase. update EMP set SAL = SAL*1.15 where DEPTNO in (10,30) 27

Data Modifications : Delete All or selected tuples can be deleted from a table using the delete command: If the where clause is omitted, all tuples are deleted from the table. Delete all projects (tuples) that have been finished before the actual date (system date). delete from PROJECT where PEND < sysdate sysdate is a function in SQL that returns the system date. 28

End