Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dr. Chen, Business Database Systems (Oracle) Chapter 2 Connecting to Oracle 11g and Basic SQL SELECT Statements Jason C.H. Chen, Ph.D. Professor of MIS.

Similar presentations


Presentation on theme: "Dr. Chen, Business Database Systems (Oracle) Chapter 2 Connecting to Oracle 11g and Basic SQL SELECT Statements Jason C.H. Chen, Ph.D. Professor of MIS."— Presentation transcript:

1 Dr. Chen, Business Database Systems (Oracle) Chapter 2 Connecting to Oracle 11g and Basic SQL SELECT Statements Jason C.H. Chen, Ph.D. Professor of MIS School of Business, Gonzaga University Spokane, WA 99258 USA chen@jepson.gonzaga.edu

2 Dr. Chen, Business Database Systems (Oracle) 2 Objectives Learn how to connect to Oracle 11g (client/server and Personal) Create the initial database Learn database objects and SQL commands and components Identify keywords, mandatory clauses, and optional clauses in a SELECT statement Select and view one/all columns of a table Display multiple columns of a table Use a column alias to clarify the contents of a particular column Perform basic arithmetic operations in the SELECT clause Remove duplicate lists using either the DISTINCT or UNIQUE keyword Use concatenation to combine fields, literals, and other data

3 Dr. Chen, Business Database Systems (Oracle) 3 Connect to Oracle 11g There are two ways connecting to and working with Oracle 11g SQL Plus –a command driven facility SQL Developer –a GUI facility Indicate the following link to include java.exe (use “Browse”): c:\program Files(x86)\java\jdk1.7.0…\bin\java.exe

4 Dr. Chen, Business Database Systems (Oracle) Connect to Oracle 11g using SQL Plus Figure 2-1 SQL*Plus Interface type “exit” to quit the system

5 Dr. Chen, Business Database Systems (Oracle) Connect to Oracle 11g using SQL Developer for the first time When asked if you like to migrate settings, You click on “No”

6 Dr. Chen, Business Database Systems (Oracle) Connect to Oracle 11g using SQL Developer for the first time Sometimes you need to do the following … (also available on the Installation Guide on Bb) Now run SQL Developer. You will be prompted to enter the pathname for your newly installed Java JDK program. If the program was installed in C and you run a 64-bit version of Windows, the destination will be as follows: C:\Program Files (x86)\Java\jdk1.7.0…\bin\java.exe. If not you click Browse and find the Java program yourself, just make sure you point to the JDK version not the JRE.

7 Dr. Chen, Business Database Systems (Oracle) Connect to Oracle 11g using SQL Developer Figure 2-2 SQL Developer Interface

8 Dr. Chen, Business Database Systems (Oracle) Connect to Oracle 11g using SQL Developer click on

9 Dr. Chen, Business Database Systems (Oracle) #1 #2 Complete the information on the Database Connection Screen jepson-oracle sbaora11

10 Dr. Chen, Business Database Systems (Oracle) Connect to Oracle 11g using Personal SQL Developer click on TNS (password is created during the Oracle installation)

11 Dr. Chen, Business Database Systems (Oracle) Complete the information on the Database Connection Screen (Personal Oracle 11g)

12 Dr. Chen, Business Database Systems (Oracle) 12 YOUR TURN How to Access Your Oracle11g Account User Name: Password: [case sensitive] jepson-oracle sbaora11

13 Dr. Chen, Business Database Systems (Oracle) drag, if “output screen” not displayed

14 Dr. Chen, Business Database Systems (Oracle) 14 Database Objects and Queries An Oracle database consists of multiple user accounts Each user account owns database objects –Tables –Views –Stored programs, etc. Query: command to perform operation on database object Structured Query Language (SQL) –Industry standard query language for most of relational databases –Consists of about 30 commands

15 Dr. Chen, Business Database Systems (Oracle) Basic SQL Concepts and Commands SQL (Structured Query Language) is used to manipulate the database. There are two basic types of SQL commands: DDL commands work with the structure of the objects (tables, indexes, views) in the database. DML commands work with the data in the database (i.e.,manipulate the data). Reserved words - SQL command words  Data Definition Language (DDL)  Data Manipulation Language (DML)

16 Dr. Chen, Business Database Systems (Oracle) 16 SQL Components DDL DML DCL D.B. ORACLE (SQL Components) (Create Table structure and insert database)

17 Dr. Chen, Business Database Systems (Oracle) 17 DDL Commands Used to create and modify the structure of database objects –CREATE –ALTER –DROP –GRANT –REVOKE DDL commands execute as soon as they are issued, and do not need to be explicitly saved

18 Dr. Chen, Business Database Systems (Oracle) 18 DML Commands Used to insert, view, and modify database data –INSERT –UPDATE –DELETE –SELECT DML commands need to be explicitly saved or rolled back –COMMIT –ROLLBACK –SAVEPOINT

19 Dr. Chen, Business Database Systems (Oracle) 19 Create the JustLee Database Use the provided script to create the database so you can follow the chapter examples Verify table contents (structure) using the DESCRIBE command

20 Dr. Chen, Business Database Systems (Oracle) 20 Scripts Scripts are simply files that contain a sequence of SQL and/or PL/SQL commands that can be executed in SQL*Plus. Note: – SQL and PL/SQL(to be introduced) are two languages Oracle uses. – SQL*Plus is the tool we use to access Oracle. – SQL*Plus can execute both SQL and PL/SQL commands plus it has its own commands.

21 Dr. Chen, Business Database Systems (Oracle) 21 Class Exercise Create a new folder on c:\ as follows: c:\oradata\chapter2 Download all files in chapter 2 from Bb (under “Course Documents”) into c:\oradata\chapter2\ Logon to SQL*Plus and type the following command (not on SQL Developer) SQL> start c:\oradata\chapter2\JLDB_Build.sql or, SQL> @ c:\oradata\chapter2\JLDB_Build.sql SQL> SELECT * FROM publisher;

22 Dr. Chen, Business Database Systems (Oracle) 22 Class Exercise (continued) A table name only can be created once and saved in the current database. Therefore, if you re-do the previous start command you will receive error message. To avoid the problem, you need DROP the tables from the database before those tables (using the same names) are recreated. Type the following command for SQL> start c:\oradata\chapter2\JLDB_Drop.sql SQL> SELECT * FROM publisher;

23 Dr. Chen, Business Database Systems (Oracle) 23 Installing Personal Oracle11g I created a “Discussion Questions” on the Bb for you to share (or post question) your experience on installation of Oracle 11g. Please participate and it will be also your part of class performance. Please note that if your computer with 64-bit operating system such as Windows 7, you can’t use the bundled DVD to install Oracle since it is for 32-bit OS. Rather you need to download 64-bit Oracle 11g from the Oracle site (www.oracle.com) or type in keyword search of “Oracle 11g download”.

24 Dr. Chen, Business Database Systems (Oracle) Figure 2-3 List of existing (created) tables How to verify “Created” Tables and their Structure? Figure 2-3 List the structure of the BOOKS table Also try to type the same commands on SQL>

25 Dr. Chen, Business Database Systems (Oracle) 25 SELECT Statement Syntax SELECT statements are used to retrieve data from the database A SELECT statement is referred to as a query Syntax gives the basic structure, or rules, for a command Optional clauses and keywords are shown in brackets

26 Dr. Chen, Business Database Systems (Oracle) SELECT Statement Syntax (continued) SELECT and FROM clauses are required SELECT clause identifies column(s) FROM clause identifies table(s) Each clause begins with a keyword Figure 2-5 Syntax for the SELECT statement

27 Dr. Chen, Business Database Systems (Oracle) Selecting All Data in a Table Substitute an asterisk for the column names in a SELECT clause Figure 2-6Command to select all data in a table

28 Dr. Chen, Business Database Systems (Oracle) Selecting One Column from a Table Enter column name in SELECT clause Figure 2-7Command to select in a single column -- CASE is not sensitive -- chapter 2, Figure 2-8; p. 34 SELECT TITLE FROM BOOKS; SELECT title from books; SELECT title FROM books; SELECT TITLE FROM BOOKS;

29 Dr. Chen, Business Database Systems (Oracle) Selecting Multiple Columns from a Table Separate column names with a comma Figure 2-9Command to select multiple columns from a table -- chapter 2, Figure 2-10; p. 36 SELECT pubdate, title FROM books; Figure 2-10 Reversed column sequence in the SELECT clause

30 Dr. Chen, Business Database Systems (Oracle) 30 Capture (Spool) an output SQL> Spool c:\oradata\Oracle_ch2_Spool_Lname_Fname.txt SQL> --#3 SQL> SELECT title, pubdate AS "Publication Date" FROM books; SQL> Spool off Then, open Oracle_ch2_Spool_Lname_Fname.txt in the folder of oradata Verify the output See detailed steps on (Bb): Instruction_on_Creating_sql_and_SPOOL.pptx

31 Dr. Chen, Business Database Systems (Oracle) 31 Operations within the SELECT Statement List the alias after the column heading AS keyword is optional Enclose in double quotation marks: –If it contains blank space(s) –If it contains special symbol(s) –To retain case Column alias can be used for column headings Perform arithmetic operations Suppress duplicates Concatenate data

32 Dr. Chen, Business Database Systems (Oracle) 32 Column Alias Example Figure 2-11 Using a column alias Figure 2-12 Using a column alias without the AS keyword

33 Dr. Chen, Business Database Systems (Oracle) 33 Using Arithmetic Operations Arithmetic operations –Executed left to right –Multiplication and division are solved first –Addition and subtraction are solved last –Override order with parentheses

34 Dr. Chen, Business Database Systems (Oracle) 34 Example Arithmetic Operation with Column Alias Figure 2-13 Using a column alias for an arithmetic expression

35 Dr. Chen, Business Database Systems (Oracle) Figure 2-14 NULL values in the Discount column

36 Dr. Chen, Business Database Systems (Oracle) ISBN TITLE PUBDATE PUBID COST ---------- ------------------------------ --------- ---------- ---------- RETAIL DISCOUNT CATEGORY ---------- ---------- ------------ 1059831198 BODYBUILD IN 10 MINUTES A DAY 21-JAN-05 4 18.75 30.95 FITNESS 0401140733 REVENGE OF MICKEY 14-DEC-05 1 14.2 22 FAMILY LIFE 4981341710 BUILDING A CAR WITH TOOTHPICKS 18-MAR-06 2 37.8 59.95 3 CHILDREN 8843172113 DATABASE IMPLEMENTATION 04-JUN-03 3 31.4 55.95 COMPUTER 3437212490 COOKING WITH MUSHROOMS 28-FEB-04 4 12.5 19.95 COOKING 3957136468 HOLY GRAIL OF ORACLE 31-DEC-05 3 47.25 75.95 3.8 COMPUTER The following output is from SQL> Question: How can we improve the output? (see chapter 2, Figure 2-14(b) on Ch2Queries.sql) We will learn it later and more in the later chapters. SQL> select * from books;

37 Dr. Chen, Business Database Systems (Oracle) Using DISTINCT and UNIQUE Enter DISTINCT or UNIQUE after SELECT keyword to suppress duplicates Figure 2-16 List of unduplicated states for customers -- chapter 2, Figure 2-16; p. 43 -- without DISTINCT SELECT state FROM customers; SQL> SELECT state FROM customers; ST -- FL CA FL ID WA NY TX WY CA GA IL MA FL WY FL CA MI GA NJ 20 rows selected.

38 Dr. Chen, Business Database Systems (Oracle) Figure 2-17 Unduplicated list of cities for customers More example -- chapter 2, Figure 2-17; p. 44 SELECT DISTINCT state, city FROM customers;

39 Dr. Chen, Business Database Systems (Oracle) 39 Using Concatenation You can combine data with a string literal Use the concatenation operator, || It allows the use of column aliases Figure 2-18 Concatenation of two columns

40 Dr. Chen, Business Database Systems (Oracle) 40 Concatenation Examples with Alternate name Figure 2-20 Using a column alias for concatenated valuesFigure 2-219 Using a string literal in concatenation

41 Dr. Chen, Business Database Systems (Oracle) SQL> select * from books; ISBN TITLE PUBDATE PUBID COST ---------- ------------------------------ --------- ---------- ---------- RETAIL DISCOUNT CATEGORY ---------- ---------- ------------ 1059831198 BODYBUILD IN 10 MINUTES A DAY 21-JAN-05 4 18.75 30.95 FITNESS 0401140733 REVENGE OF MICKEY 14-DEC-05 1 14.2 22 FAMILY LIFE 4981341710 BUILDING A CAR WITH TOOTHPICKS 18-MAR-06 2 37.8 59.95 3 CHILDREN 8843172113 DATABASE IMPLEMENTATION 04-JUN-03 3 31.4 55.95 COMPUTER 3437212490 COOKING WITH MUSHROOMS 28-FEB-04 4 12.5 19.95 COOKING 3957136468 HOLY GRAIL OF ORACLE 31-DEC-05 3 47.25 75.95 3.8 COMPUTER The following output is from SQL> Question: How can we produce a readable output format?

42 Dr. Chen, Business Database Systems (Oracle) 42 Formatting Output in SQL*Plus To change default column headings: –Specify alternate column headings: SELECT fieldname1 "heading1_text", fieldname2 "heading2_text",... –Use an alias for column headings: SELECT fieldname1 AS alias_name1... –Use column statement To change SQL*Plus line and page size settings –Select Options/Environment on menu bar –Modify linesize and pagesize to desired values You may also type the following commands at SQL> –SQL> SET LINESIZE 80 –SQL> SET PAGESIZE 45 Please download chapter 14 (pdf file on Bb) for more commands on formatting output.

43 Dr. Chen, Business Database Systems (Oracle) Advanced SQL Commands clear screen; column format a15 wrap column format a15 word column format a20 heading ‘description for the field’ column format a15 truncate column format $999.99 -- note: default is wrap -- formatting output (try it on the SQL>) -- chapter 2, Figure 2-14(b); p. 41 clear screen SET LINESIZE 80 SET PAGESIZE 45 column title format a12 heading 'Book Title' WORD column PubID format 99 heading 'ID' column Cost format $999.99 column retail format $999.99 SELECT * FROM books; Read and practice all the SQL commands in Ch2Queries.sql file (esp. those at the end of the file)

44 Dr. Chen, Business Database Systems (Oracle) ISBN Book Title PUBDATE ID COST RETAIL DISCOUNT CATEGORY ---------- ------------ --------- --- -------- -------- ---------- ------------ 1059831198 BODYBUILD IN 21-JAN-05 4 $18.75 $30.95 FITNESS 10 MINUTES A DAY 0401140733 REVENGE OF M 14-DEC-05 1 $14.20 $22.00 FAMILY LIFE ICKEY 4981341710 BUILDING A C 18-MAR-06 2 $37.80 $59.95 3 CHILDREN AR WITH TOOT HPICKS 8843172113 DATABASE IMP 04-JUN-03 3 $31.40 $55.95 COMPUTER LEMENTATION 3437212490 COOKING WITH 28-FEB-04 4 $12.50 $19.95 COOKING MUSHROOMS 3957136468 HOLY GRAIL O 31-DEC-05 3 $47.25 $75.95 3.8 COMPUTER F ORACLE 1915762492 HANDCRANKED 21-JAN-05 3 $21.80 $25.00 COMPUTER COMPUTERS 9959789321 E-BUSINESS T 01-MAR-06 2 $37.90 $54.50 COMPUTER HE EASY WAY 2491748320 PAINLESS CHI 17-JUL-04 5 $48.00 $89.95 4.5 FAMILY LIFE LD-REARING 0299282519 THE WOK WAY 11-SEP-04 4 $19.00 $28.75 COOKING TO COOK 8117949391 BIG BEAR AND 08-NOV-05 5 $5.32 $8.95 CHILDREN LITTLE DOVE 0132149871 HOW TO GET F 11-NOV-06 4 $17.85 $29.95 1.5 SELF HELP ASTER PIZZA 9247381001 HOW TO MANAG 09-MAY-03 1 $15.40 $31.95 BUSINESS E THE MANAGE R ISBN Book Title PUBDATE ID COST RETAIL DISCOUNT CATEGORY ---------- ------------ --------- --- -------- -------- ---------- ------------ 2147428890 SHORTEST POE 01-MAY-05 5 $21.85 $39.95 LITERATURE MS 14 rows selected. Here is a better output after formatting output:

45 Dr. Chen, Business Database Systems (Oracle) Step 1. Create SQL commands using Notepad Instruction on Creating a Script file and save as *.sql file Step 2. Click File then Save As..

46 Dr. Chen, Business Database Systems (Oracle) Instruction on Creating a Script file and save as *.sql file (cont.) Step 3. “Save AS” … Screen Step 4. Change from “Text Document ( *.txt) to “All Files (*.*)” on “Save as type” box

47 Dr. Chen, Business Database Systems (Oracle) Instruction on Creating a Script file and save as *.sql file (cont.) Step 5. Enter a right file name (Oracle_Ch2_Chen_Jason.sql) Then spool it onto the file of Oracle_ch2_Spool_Chen_Jason.txt How? See next …

48 Dr. Chen, Business Database Systems (Oracle) Break ! Hands-On Assignments In class exercise (p.54) - #2 - see spool instruction on the next slide HW (Odd numbers only (pp.54-55), but do #1 at the end as it will affect the rest of problems) - run the following two commands: Start c:\oradata\chapter2\JLDB_Drop.sql Start c:\oradata\chapter2\JLDB_Build.sql Output should be formatted in a very good manner. Scripting file name: Oracle_ch2_Lname_Fname.sql Spooled file name: Oracle_ch2_Spool_Lname_Fname.txt Email me with the spooled file using attachment to: chen@jepson.gonzaga.edu with subject title of Bmis441-01_Oracle_ch2 (or Bmis441-02_Oracle_ch2)

49 Dr. Chen, Business Database Systems (Oracle) Homework - Hands-On Assignments Read and Practice all examples on Chapters 2 1. Run two script files: JLDB_Drop.sql and JLDB_Build.sql 2. Read Oracle assignment and create a script file Oracle_ch2_Lname_Fname.sql for odd number questions on “Hands-on Assignments”. Use appropriate COLUMN statements to produce readable outputs 3. Execute and test one problem a time (do #1 at the end, why?) and make sure they are all running successfully. Include class and personal information. 4. When you done, spool the script files (see next slide for spooling instructions) and email the file (Oracle_ch2_Spool_Lname_Fname.txt) to me by midnight this coming Sunday. Turn in a hardcopy to me in the class. Email me with one attachment (Oracle_ch2_Spool_Lname_Fname.) to: chen@jepson.gonzaga.edu with subject title of Bmis441-01_Oracle_ch2 (or Bmis441-02_Oracle_ch2)

50 Dr. Chen, Business Database Systems (Oracle) 50 How to Spool your Script and Output Files After you tested the script file of Oracle_ch2_Lname_Fname.sql successfully, follow the instructions below to spool both script and output files: Step 0. Run the following two script files from SQL*Plus (since you have created JLDB tables) –Start c:\oradata\chapter2\JLDB_Drop.sql –Start c:\oradata\chapter2\JLDB_Build.sql 1. type the following on SQL> –Spool c:\oradata\Oracle_ch2_Spool_Lname_Fname.txt (make sure your name is entered) 2. open Oracle_ch2_Lname_Fname.sql that you already tested 3. copy and paste all the SQL commands (including all comments) to the SQL*PLUS 4. type Spool Off on the SQL> The output should contain your personal information, all SQL commands and their solution on the.txt file and saved in C: drive (oradata\ folder) Email me the spooled file (.txt) with attachment to: chen@jepson.gonzaga.edu with subject title of Bmis441-01_Oracle_ch2 (or Bmis441-02_Oracle_ch2)

51 Dr. Chen, Business Database Systems (Oracle) 51 Summary A basic query in Oracle 11g SQL includes the SELECT and FROM clauses, the only mandatory clauses in a SELECT statement To view all columns in the table, specify an asterisk (*) or list all of the column names individually in the SELECT clause To display a specific column or set of columns, list the column names in the SELECT clause (in the order in which you want them to appear) When listing column names in the SELECT clause, a comma must separate column names

52 Dr. Chen, Business Database Systems (Oracle) 52 Summary (continued) A column alias can be used to clarify the contents of a particular column; if the alias contains spaces or special symbols, or if you want to display the column with any lowercase letters, you must enclose the column alias in double quotation marks (" ") Indicate the table name following the FROM keyword Basic arithmetic operations can be performed in the SELECT clause NULL values indicate an absence of a value

53 Dr. Chen, Business Database Systems (Oracle) 53 Summary (continued) To remove duplicate listings, include either the DISTINCT or UNIQUE keyword To specify which table contains the desired columns, you must list the name of the table after the keyword FROM Use vertical bars (||) to combine, or concatenate, fields, literals, and other data 53


Download ppt "Dr. Chen, Business Database Systems (Oracle) Chapter 2 Connecting to Oracle 11g and Basic SQL SELECT Statements Jason C.H. Chen, Ph.D. Professor of MIS."

Similar presentations


Ads by Google