1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher...
-
Upload
tjark-raker -
Category
Documents
-
view
219 -
download
2
Transcript of 1 Einfache SQL-Befehle. 1-2 Ziel Möglichkeiten von SQL SELECT kennenlernen Ausführen einfacher...
11Einfache
SQL-Befehle
1-2
Ziel
• Möglichkeiten von SQL SELECT kennenlernen• Ausführen einfacher SELECT Befehle• Unterscheide zwischen SQL Befehlen
und SQL*Plus Kommandos
1-3
Möglichkeiten von SQL SELECT Befehlen
SelektionSelektion ProjektionProjektion
Tabelle 1Tabelle 1 Tabelle 2Tabelle 2
Tabelle 1Tabelle 1 Tabelle 1Tabelle 1JoinJoin
1-4
Einfaches SELECT Statement
SELECT [DISTINCT] {*, column [alias],...}FROM table;
• SELECT bestimmt welche Spalten.• FROM bestimmt welche Tabelle.
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.
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;
1-7
Lesen bestimmter Spalten
DEPTNO LOC--------- ------------- 10 NEW YORK 20 DALLAS 30 CHICAGO 40 BOSTON
SQL> SELECT deptno, loc 2 FROM dept;
1-8
Ausrichtung der Spaltenköpfe
• Standardausrichtung– Links: Datums- und Zeichendaten– Rechts: Numerische Daten
• Standardanzeige: Großbuchstaben
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
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.
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.
** // ++ __
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.
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.
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.
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
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
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------------- -------------...
1-18
Verkettungs-Operator
• Verkettet Spalten oder Zeichenketten zu anderen Spalten (Concatenation) • Dargestellt durch zwei senkrechte
Striche (||)• Erzeugt eine Ergebnisspalte, die ein
Zeichenausdruck ist
1-19
Anwendung der Verkettung
SQL> SELECT ename||job AS "Employees" 2 FROM emp;
Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14 rows selected.
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.
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;
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.
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
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
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
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
1-27
Einloggen in SQL*Plus• Aus Windows:Aus Windows:
• Kommandozeile:Kommandozeile: sqlplus [sqlplus [usernameusername[/[/password password [@[@databasedatabase]]]]]]
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
1-29
Anzeige Tabellenstruktur
SQL> DESCRIBE dept
Name Null? Type----------------- -------- ------------DEPTNO NOT NULL NUMBER(2)DNAME VARCHAR2(14)LOC VARCHAR2(13)
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
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
1-32
SQL*Plus File-Kommands
• SAVE filename• GET filename• START filename• @ filename• EDIT filename• SPOOL filename
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;
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