130 likes | 225 Views
ITS232 Introduction To Database Management Systems. Siti Nurbaya Ismail Faculty of Computer Science & Mathematics, Universiti Teknologi MARA (UiTM), Kedah | A2-3039 | ext:2561 | sitinurbaya@kedah.uitm.edu.my | 012-7760562 |. CHAPTER 7 An Introduction To SQL
E N D
ITS232Introduction To Database Management Systems SitiNurbaya Ismail Faculty of Computer Science & Mathematics, Universiti Teknologi MARA (UiTM), Kedah | A2-3039 | ext:2561 | sitinurbaya@kedah.uitm.edu.my | 012-7760562 | CHAPTER 7 An Introduction To SQL Lab 2: Retriving Data From Multiple Tables
DML: Queries: SELECT Statement SELECT Statement • The SELECTstatement allows you to find,retrieve, and display data. • To execute the SELECT statement on a table, you must be the table owner, have DBA or SYSADM security privileges, or have theSELECTprivilege for that table. • The result of SELECTstatement is a set of rows known as the result set, which meets the conditions specified in the SELECT statement SQL SELECT Syntax Note SQL is not case sensitive { SELECT is the same as select } SELECT column_name(s) FROM table_name; SELECT * FROM table_name;
DML: Queries: SQL Alias • You can give a table or a column another name by using an alias. This can be a good thing to do if you have very long or complex table names or column names. • An alias name could be anything, but usually it is short. • Usually it is used in multiple table joint. SQL Alias Syntax For Tables SQL Alias Syntax For Columns SELECT column_name(s) FROM table_name AS alias_name SELECT column_name AS alias_name FROM table_name
DML: Queries: SELECT Statement staff department • How do you list staff name and which deparment they work with? The following statement list all the staff name. • The following statement list all the department name. SELECT name FROM staff; SELECT name FROM department;
DML: Queries: SELECT Statement • In order to list staff name with the corresponding department name they work with, the data must be retrieve from 2 table which is, table staff and department. • In order to do so, both the table must be join, using either: • join predicate • JOIN keyword
DML: Queries: SELECT Statement with join predicate staff department The following statement list all the name with the coresponding deparment name they work with. SELECT s.name, d.name FROM staff AS s, department AS d WHERE d.departNO = s.departNO; join predicate
DML: Queries: SELECT Statement with JOIN keyword staff department The following statement list all the name with the coresponding deparment name they work with. SELECT s.name, d.name FROM staff AS s JOIN department AS d ON d.departNO = s.departNO; JOIN keyword
SQL JOINs • The JOINkeyword is used in an SQL statement to query data from two or more tables, based on a relationship between certain columns in these tables. • Tables in a database are often related to each other with keys. • A primary key is a column (or a combination of columns) with a unique value for each row. Each primary key value must be unique within the table. The purpose is to bind data together, across tables, without repeating all of the data in every table.
SQL JOINs Different SQL JOINs • JOIN / INNER JOIN Return rows when there is at least one match in both tables • LEFT JOIN Return all rows from the left table, even if there are no matches in the right table • RIGHT JOIN Return all rows from the right table, even if there are no matches in the left table • FULL JOIN Return rows when there is a match in one of the tables
SQL INNER JOIN SQL INNER JOIN Syntax NOTE INNER JOIN is the same as JOIN. SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name = table_name2.column_name
DML: Two-Table Joins Besides INNER JOIN, you can also use the following statements to combines two tables with join conditions. staff(staffNO, staffNAME, city, salary, departmentNO*) department(departNO, departNAME) SELECT s.staffNAME FROM staff AS s, department AS d WHERE (d.departNO=s.departNO) AND d.departNAME=“IT”; SELECT staff.staffNAME,department.departNAME FROM staff INNER JOIN department ON department.departNO=staff.departNO;
DML: Multiple-Table Joins A multiple table join is a join of more than two tables with join conditions for pairs of table. • A join condition is a comparison (relational operators) on two columns from each table. Following is a three table joins which selects all the customer name that order biscuit Tart NenasGunting. customer(custNO, custNAME, custEMAIL) biscuit(bisNO, bisNAME, bisFLAVOUR, bisPRICE) order(orderNO,*custNO,*bisNO, orderadate, qty, status) SELECT custNAME FROM customer AS c, biscuit AS b, order AS o WHERE c.custNO=o.custNO AND o.bisNO=b.bisNO AND b.bisNAME=“Tart NenasGunting“;
DML: Multiple-Table Joins List down all customer name, biscuit name and order quantity that customer had order with confirm status. tblcustomer(custNO, custNAME, custEMAIL) tblbiscuit(bisNO, bisNAME, bisFLAVOUR, bisPRICE) tblorder(orderNO,*custNO,*bisNO, orderadate, qty, status)