34
1 1 Einfache SQL-Befehle

1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

Embed Size (px)

Citation preview

Page 1: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

11Einfache

SQL-Befehle

Page 2: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-2

Ziel

• Möglichkeiten von SQL SELECT kennenlernen• Ausführen einfacher SELECT Befehle• Unterscheide zwischen SQL Befehlen

und SQL*Plus Kommandos

Page 3: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-3

Möglichkeiten von SQL SELECT Befehlen

SelektionSelektion ProjektionProjektion

Tabelle 1Tabelle 1 Tabelle 2Tabelle 2

Tabelle 1Tabelle 1 Tabelle 1Tabelle 1JoinJoin

Page 4: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-4

Einfaches SELECT Statement

SELECT [DISTINCT] {*, column [alias],...}FROM table;

• SELECT bestimmt welche Spalten.• FROM bestimmt welche Tabelle.

Page 5: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-5

Schreiben von SQL-Befehlen

• SQL Statements sind nicht case sensitive. • SQL Statements können in einer oder

mehreren Zeilen stehen. • Schlüsselwörter können nicht abgekürzt

oder auf mehrere Zeilen aufgeteilt werden.• Klauseln stehen gewöhnlich in separaten

Zeilen. • Tabs und Einrückungen nützlich für

bessere Lesbarkeit.

Page 6: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-6

Lesen aller Spalten

DEPTNO DNAME LOC--------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON

SQL> SELECT * 2 FROM dept;

Page 7: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-7

Lesen bestimmter Spalten

DEPTNO LOC--------- ------------- 10 NEW YORK 20 DALLAS 30 CHICAGO 40 BOSTON

SQL> SELECT deptno, loc 2 FROM dept;

Page 8: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-8

Ausrichtung der Spaltenköpfe

• Standardausrichtung– Links: Datums- und Zeichendaten– Rechts: Numerische Daten

• Standardanzeige: Großbuchstaben

Page 9: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-9

Arithmetische AusdrückeAusdrücke auf numerischen und Datums-Ausdrücke auf numerischen und Datums-feldern (Typ NUMBER oder DATE) mit Hilfe feldern (Typ NUMBER oder DATE) mit Hilfe arithmetischer Operatoren.arithmetischer Operatoren.

Operator

+

-

*

/

Description

Addition

Subtraktion

Multiplikation

Division

Page 10: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-10

Verwendung arithmetischer Operatoren

SQL> SELECT ename, sal, sal+300 2 FROM emp;

ENAME SAL SAL+300---------- --------- ---------KING 5000 5300BLAKE 2850 3150CLARK 2450 2750JONES 2975 3275MARTIN 1250 1550ALLEN 1600 1900...14 rows selected.

Page 11: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-11

Präzedenz von Operatoren

• Multiplikation und Division vor Addition und Subtraktion.• Operatoren der gleichen Priorität

werden von links nach rechts ausge-wertet.• Klammern zur Änderung von Prioritäten

und zur besseren Lesbarkeit des Befehls.

** // ++ __

Page 12: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-12

Präzedenz von Operatoren

SQL> SELECT ename, sal, 12*sal+100 2 FROM emp;

ENAME SAL 12*SAL+100---------- --------- ----------KING 5000 60100BLAKE 2850 34300CLARK 2450 29500JONES 2975 35800MARTIN 1250 15100ALLEN 1600 19300...14 rows selected.

Page 13: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-13

Verwendung von Klammern

SQL> SELECT ename, sal, 12*(sal+100) 2 FROM emp;

ENAME SAL 12*(SAL+100)---------- --------- -----------KING 5000 61200BLAKE 2850 35400CLARK 2450 30600JONES 2975 36900MARTIN 1250 16200...14 rows selected.

Page 14: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-14

Definition von Null-Werten• Null ist ein spezieller Wert, heißt “nicht an-

wendbar“, “nicht vorhanden“, “unbekannt“, • Null ist nicht das gleiche wie 0 oder

Leerzeichen.SQL> SELECT ename, job, comm 2 FROM emp;

ENAME JOB COMM---------- --------- ---------KING PRESIDENTBLAKE MANAGER...TURNER SALESMAN 0...14 rows selected.

Page 15: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-15

Null-Werte in arithmetischen Ausdrücken

Arithmetische Ausdrücke, die einen Null-Arithmetische Ausdrücke, die einen Null-Wert enthalten, werden zu Null.Wert enthalten, werden zu Null.

SQL> select ename, 12*sal+comm 2 from emp 3 WHERE ename='KING';

ENAME 12*SAL+COMM ---------- -----------KING

Page 16: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-16

Definition eines Spalten-Alias

• Neuer Name für einen Spaltenkopf• Nützlich bei Berechnungen• Steht unmittelbar nach Spaltennamen;

optional AS zwischen Spaltenname und Alias • Erfordert doppelte Anführungszeichen,

wenn Leerzeichen oder andere spezielle Zeichen enthalten sind

Page 17: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-17

Verwendung eines Spalten-Alias

SQL> SELECT ename AS name, sal salary 2 FROM emp;

NAME SALARY------------- ---------...

SQL> SELECT ename "Name", 2 sal*12 "Annual Salary" 3 FROM emp;

Name Annual Salary------------- -------------...

Page 18: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-18

Verkettungs-Operator

• Verkettet Spalten oder Zeichenketten zu anderen Spalten (Concatenation) • Dargestellt durch zwei senkrechte

Striche (||)• Erzeugt eine Ergebnisspalte, die ein

Zeichenausdruck ist

Page 19: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-19

Anwendung der Verkettung

SQL> SELECT ename||job AS "Employees" 2 FROM emp;

Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14 rows selected.

Page 20: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-20

Literale Zeichenketten

• Ein Literal ist ein Zeichen, Ausdruck, oder eine Nummer, innerhalb der SELECT-Liste.• Datum und Zeichenliterale müssen in

einfachen Hochkommas stehen.• Jede Zeichenkette wird für jede Zeile

ausgegeben.

Page 21: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-21

Anwendung von Literalen

Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.

SQL> SELECT ename ||' '||'is a'||' '||job 2 AS "Employee Details" 3 FROM emp;

Page 22: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-22

DuplikateStandardausgabe für Anfragen ist: alle Standardausgabe für Anfragen ist: alle Zeilen, einschließlich doppelter Zeilen.Zeilen, einschließlich doppelter Zeilen.SQL> SELECT deptno 2 FROM emp;

DEPTNO--------- 10 30 10 20...14 rows selected.

Page 23: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-23

Eliminierung von DuplikatenEliminierung von Duplikaten durch Verwen-Eliminierung von Duplikaten durch Verwen-dung von DISTINCT in der SELECT Klausel.dung von DISTINCT in der SELECT Klausel.SQL> SELECT DISTINCT deptno 2 FROM emp;

DEPTNO--------- 10 20 30

Page 24: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-24

SQL und SQL*Plus Interaktion

SQL*PlusSQL*Plus

SQL StatementsSQL Statements PufferPuffer SQL StatementsSQL Statements

Server

Query ErgebnisQuery ErgebnisSQL*PlusSQL*Plus KommandosKommandos

Formatierter ReportFormatierter Report

Page 25: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-25

SQL Statements Versus SQL*Plus Commands

SQLSQLstatementsstatements

SQL SQL • SpracheSprache• ANSI StandardANSI Standard• Keine Abkürzung von Keine Abkürzung von

SchlüsselwortenSchlüsselworten• Befehle manipulieren Befehle manipulieren

Daten und Tabellen-Daten und Tabellen-definition in der DBdefinition in der DB

SQL*PlusSQL*Plus• UmgebungUmgebung• Oracle-proprietärOracle-proprietär• Abkürzung von Abkürzung von

SchlüsselwörternSchlüsselwörtern• Kommandos verändern Kommandos verändern

keine Werte in der DBkeine Werte in der DB

SQLSQLbufferbuffer

SQL*PlusSQL*Pluscommandscommands

SQL*PlusSQL*Plusbufferbuffer

Page 26: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-26

• Einloggen SQL*Plus.• Ausgabe der Tabellenstruktur.• Eingabe der SQL-Befehle.• Ausführung von SQL aus SQL*Plus.• Speichern von SQL-Befehlen in Dateien

und Anfügen von SQL-Befehlen an Dateien.• Ausführung gespeicherter Dateien.

Überblick SQL*Plus

Page 27: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-27

Einloggen in SQL*Plus• Aus Windows:Aus Windows:

• Kommandozeile:Kommandozeile: sqlplus [sqlplus [usernameusername[/[/password password [@[@databasedatabase]]]]]]

Page 28: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-28

Anzeige von Tabellenstrukturen

Nutze SQL*Plus DESCRIBE Kommando Nutze SQL*Plus DESCRIBE Kommando zur Anzeige der Struktur einer Tabelle.zur Anzeige der Struktur einer Tabelle.

DESC[RIBE] tablename

Page 29: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-29

Anzeige Tabellenstruktur

SQL> DESCRIBE dept

Name Null? Type----------------- -------- ------------DEPTNO NOT NULL NUMBER(2)DNAME VARCHAR2(14)LOC VARCHAR2(13)

Page 30: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-30

SQL*Plus Kommandos

• A[PPEND] text• C[HANGE] / old / new• C[HANGE] / text /• CL[EAR] BUFF[ER]• DEL• DEL n• DEL m n

Page 31: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-31

SQL*Plus Kommands• I[NPUT]• I[NPUT] text• L[IST]• L[IST] n• L[IST] m n • R[UN]• n• n text• 0 text

Page 32: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-32

SQL*Plus File-Kommands

• SAVE filename• GET filename• START filename• @ filename• EDIT filename• SPOOL filename

Page 33: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-33

Zusammenfassung

SQL*Plus ist eine Umgebung für:SQL*Plus ist eine Umgebung für:• Ausführung von SQL-Befehlen• Erfassung von SQL-Befehlen

SELECT [DISTINCT] {*,column [alias],...}FROM table;

Page 34: 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher SELECT Befehle Unterscheide zwischen SQL Befehlen und SQL*Plus

1-34

Übungen

• Lesen von Daten aus unterschiedlichen Tabellen• Anzeige der Struktur von Tabellen• Durchführung arithmetischer Berech-

nungen und Festlegung von Spalten-namen• Einsatz von SQL*Plus