Datenmanipulation in SQL (1): Subselect:
|
|
- Ursula Keller
- vor 6 Jahren
- Abrufe
Transkript
1 Datenmanipulation in SQL (1): Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen mit der Betrachtung des Select Statement. Ein wesentlicher Begriff ist der des Subselect (und damit zusammenhängend der der Subquery). Subselect: Ein Subselect ist ein Statement der Form Select [distinct all] Kommaliste von Spaltenausdrücken From Kommaliste von Tabellenausdrücken Where Suchbedingung auf Zeilenebene Group By Kommaliste von Spalten(ausdrücken) Having Suchbedingung auf Gruppenebene Unter einer Subquery verstehen wir ein geklammertes Subselect.
2 In Spaltenausdrücken sind erlaubt: SQL Operatoren Spalten eines Tabellenausdrucks Konstanten Funktionswerte von SQL Funktionen Subqueries Als Tabellenausdruck sind erlaubt: Tabellen Views Synonyme Subqueries Join Konstrukte Eine Suchbedingung ist ein Spaltenausdruck, der einen boole schen Wert hat.
3 SQL Operatoren und Funktionen Operatoren: Arithmetisch: +, -, *, / String:, (+) Datetime/Interval: +, - Vergleich: =,!= (<>), <, <=, >, >= Boolean: not, and, or Funktionen: Arithmetisch: mod, round, trunc, floor, ceil String: length, size substring, position, replace lower, upper, initcap ltrim, rtrim, trim lpad, rpad, pad Datetime/Interval: Proprietär Typkonversion: Explizit und Implizit Abbildung NULL=>Exception: nvl, coalesce Case Ausdrücke: decode, case decode(expression,s1,w1,s2,w2,...,w) case Expression when s1 then W1 when s2 then W2 else W end
4 Nach dieser allgemeinen Betrachtung soll der Bezug zwischen den Operatoren der relationalen Algebra und dem Select Statement dargestellt werden. Wir betrachten zunächst den Zugriff auf eine Tabelle: In der relationalen Algebra gibt es hierzu die Operatoren Projektion Restriktion Die Projektion ist in SQL realisiert durch Select distinct Spaltenliste From Tabelle Die Restriktion ist in SQL realisiert durch Select * From Tabelle Where Suchbedingung Im Rahmen der Suchbedingung dürfen folgende Operatoren verwendet werden: Boole sche Operatoren: not, and, or Vergleichsoperatoren =,!= (<>), <, <=, >, >= Arithmetische Operatoren: +, -, *, /, mod between / not between is null / is not null like in
5 Verwendung von Subqueries: In darf nicht nur zum Vergleich mit konstanten Listen verwendet werden, sondern auch zum Vergleich mit Listen, die durch eine Subquery repräsentiert werden. Vergleichsoperatoren dürfen ebenfalls zum Vergleich mit Listen, die durch eine Subquery repräsentiert werden, herangezogen werden, wobei für den Fall, daß das Ergebnis der Subquery nicht atomar, also eine Liste aus mehr als einem Element ist, eines der Schlüsselworte any/some oder all nach dem Vergleichsoperator zu verwenden ist. Exists darf auf eine Subquery angewandt werden, wobei exists subquery genau dann wahr ist, wenn die Subquery mindestens eine Zeile liefert. In der Subquery darf Bezug auf die Tabelle genommen werden, auf der die Restriktion durchgeführt wird. Man spricht dann von einer korrelierten Subquery.
6 Wir betrachten als nächstes den Zugriff auf mehrere Tabellen, wobei zunächst nicht auf die mengentheoretischen Operatoren eingegangen wird. In der relationalen Algebra gibt es hierzu die Operatoren Kartesisches Produkt Join Quotient Das kartesische Produkt zweier Tabellen T1 und T2 ist definiert durch Select * From T1,T2 Diese Operation sollte nur dann vom DBS angewandt werden, wenn eine der beteiligten Tabellen aus einer Zeile oder sehr wenigen Zeilen besteht. Join Konstrukte gibt es in der relationalen Algebra einige: Equi Join: Verknüpfung aufgrund der Gleichheit von Attributwerten Natural Join: Verknüpfung aufgrund der Gleichheit von Fremdschlüsselwerten und zugehörigen Schlüsselkandidatwerten (und Elimination der Fremdschlüsselattribute oder der Schlüsselkandidatattribute) Semi Join: Projektion des Natural Join auf eine Tabelle Inner Join: alternativer Begriff zum Natural Join Left Outer Join, Right Outer Join, Full Outer Join: Ergänzung des natural / inner Joins durch Berücksichtigung von Masterzeilen ohne passende Details, Detailzeilen ohne passenden Master sowie beidem Theta Join: Verknüpfung aufgrund von Vergleichen von Attributwerten Auto / Self Join: Verknüpfung einer Tabelle mit sich selbst
7 Wir betrachten hier: Inner Joins Outer Joins Auto Join (Der Theta Join zeichnet sich nur dadurch aus, daß in der ersten betrachteten Join Variante andere Vergleichsoperatoren möglich sind. Er wird hier nicht weiter betrachtet. Es sollte allerdings bemerkt werden, daß Theta Joins oft ein Performance Thema sind!) Seien T1 und T2 zwei Tabellen, k Schlüsselkandidat von T1 und zugehöriger Fremdschlüssel von T2, s1 weitere Spalte in T1 und s2 weitere Spalten in T2. Dann ist der Inner Join von T1 und T2 in SQL implementiert durch Select T1.k, T1.s1, T2.s2 From T1, T2 Where T1.k = T2.k Alternativ gibt es im SQL Standard Join Konstrukte analog denen der relationalen Algebra, z.b. für den inner join Select T1.k, T2.s1, T2.s2 From T1 inner join T2 on T1.k=T2.k Diese Join Konstrukte haben sich allerdings noch nicht allgemein durchgesetzt, z.b. stehen sie bei Oracle nicht zur Verfügung. Ausgehend von dem inner join Konstrukt ist es offensichtlich, wie Outer Joins entsprechend dargestellt werden: Select T1.k, T2.s1, T2.s2 From T1 left / right / full outer join T2 on T1.k=T2.k
8 Oracle (Release < 9i) verwendet für den Outer Join lediglich proprietäre Konstrukte: Left Outer Join: Select T1.k, T1.s1, T2.s2 From T1, T2 Where T1.k = T2.k(+) Right Outer Join: Select T1.k, T1.s1, T2.s2 From T1, T2 Where T1.k(+) = T2.k Ein Auto Join zeichnet sich dadurch aus, daß T1 und T2 die gleiche Tabelle T repräsentieren. In diesem Fall muß ein Konstrukt verwendet werden, das ansonsten auch sinnvoll eingesetzt werden kann: der Korrelationsname. Im Fall des Auto Joins sollte er die Rolle andeuten, in der die Tabelle jeweils verwendet wird, ansonsten werden Korrelationsnamen häufig verwendet als Kürzel von Tabellennamen. Sei T jetzt eine Tabelle mit Schlüsselkandidat sk, Fremdschlüssel fk, der sich auf sk bezieht, und einer weiteren Spalte s. Dann kann der auto join wie folgt definiert werden (mit Korrelationsnamen t1 und t2 für T): Select t1.sk, t1.s, t2.sk, t2.s From T t1, T t2 Where t1.sk = t2.fk
9 Gruppierung, Aggregate SQL bietet Aggregate an (statistische Funktionen), die auf der Gruppierung von Daten beruhen. Es sind dies die Aggregate count (*) zum Zählen der Zeilen count min max sum avg var stddev Diese statistischen Funktionen haben Argumente der Form [distinct] Spaltenname, um die jeweilige statistische Funktion auf die [verschiedenen] Werte ungleich NULL in einer Spalte anzuwenden. I.A. werden Aggregate für Gruppen von Daten gebildet. Diese Gruppen werden in einer group by Klausel spezifiziert: Die Daten mit gleichen Werten in den Spalten der in der group by Klausel spezifizierten Spaltenliste repräsentieren eine Gruppe. Ohne group by Klausel beziehen sich sämtliche Aggregate auf die Gesamtheit der betrachteten Daten! Es ist folgende Einschränkung in SQL zu beachten: In der Select Liste dürfen außerhalb von Aggregaten nur Spalten vorkommen, die in der group by Klausel stehen! Wie mit der where Klausel eine Suchbedingung auf Zeilenebene definiert werden kann, kann mit der having Klausel eine Suchbedingung auf Gruppenebene definiert werden. An dieser Stelle kommen wir wieder zurück zum Quotient der relationalen Algebra: Ist R eine Relation mit zwei Attributkombinationen A und B und S eine Relation, deren Attribute gerade die aus B sind, so ist der Quotient von R und S definiert als die Menge aller Werte a in A, so daß (a,b) für alle b in S in A ist. Interpretation: Der Quotient von R und S ist die Menge aller Gruppen a (nach Gruppierung bezüglich der Attribute in A), für die die Anzahl zugehöriger Elemente mit b in S gleich der Anzahl der Elemente von S ist. Diese Interpretation führt zu folgendem SQL Statement (für den Fall, daß A und B aus einem Attribut bestehen): select R.a from R, S where R.b = S.b group by R.a having count(*) = (select count(*) from S);
10 Eine weitere Implementierung des Quotienten aus der relationalen Algebra in SQL erhält man, wenn man die Definition des Quotienten folgendermaßen umformuliert: Der Quotient von R und S ist die Menge aller Werte a in A, so daß kein b in S existiert mit der Eigenschaft, daß (a,b) nicht in R ist, also keine Zeile r in R existiert mit r=(a,b): select a from R RA where not exists ( select * from S where not exists ( select * from R where a=ra.a and b=b.b ) ) Diese Formulierung ist i.a. weniger performant!
11 Wir betrachten schließlich die mengentheoretischen Operatoren in SQL. In der relationalen Algebra gibt es die mengentheoretischen Operatoren Vereinigung Durchschnitt Differenz SQL bietet entsprechende Konstrukte an, wobei union in zwei Ausprägungen vorliegt, die nicht kombiniert werden können. Union (mengenorientiert, d.h., Duplikate werden anschließend eliminiert) Union all (satzorientiert) Intersect Minus (Oracle) bzw. Except (DB2) Mit dem Einsatz der mengentheoretischen Operatoren wird der syntaktische Rahmen des Subselect verlassen. Es handelt sich jetzt um eine vollständige Select Anweisung. Man sollte beachten, daß in vielen Situationen nur Subselects verwendet werden dürfen, nicht aber vollständige Selects!
12 Abschließend soll auf eine Klausel der vollständigen Select Anweisung eingegangen werden, die nicht den Operatoren der relationalen Algebra zugeordnet werden kann, die aber für die Praxis von großer Bedeutung ist: die order by Klausel. Diese Klausel erlaubt es, die Resultate einer Abfrage zu sortieren. Die order by Klausel ist die zuletzt ausgewertete Klausel einer Select-Anweisung. Hier kann eine Liste von Spaltennamen oder nummern der resultierenden Relation eingegeben werden und pro Spalte spezifiziert werden, ob aufsteigend (asc, default) oder absteigend (desc) sortiert werden soll. Die Spaltennamen der resultierenden Relation sind die des ersten beteiligten Subselects, diese werden aus den Namen der referenzierten Spalten in der Select-Liste abgeleitet, falls möglich, ansonsten sollten sie mit einer as Klausel definiert werden.
13 Datenmanipulation in SQL (2) Insert Satzorientierte Variante: Insert into Tabelle (Kommaliste von Spalten) values (Kommaliste von Ausdrücken) Mengenorientierte Variante Insert into Tabelle (Kommaliste von Spalten) Subselect Bemerkungen: Fehlt die Spaltenliste für die Tabelle, ist die Liste aller Spalten gemeint Jede Spalte, die not null definiert ist und keinen Default Wert hat, muß in der Spaltenliste für die Tabelle vorkommen. Spaltenliste und Ausdrucksliste in der values Klausel bzw. der Select Liste des Subselects müssen verträglich sein. Einige DBS verbieten, daß das Subselect sich auf die Tabelle bezieht, in die eingefügt wird! Neben der o.a. mengentheoretischen Variante, die es erlaubt, Daten aus der Datenbank in eine Tabelle einzufügen, gibt es Methoden, Daten aus Hauptspeicherstrukturen oder Dateien in eine Tabelle mengenorientiert einzufügen. Diese Methoden sind allerdings noch wenig standardisiert. Array Insert (Oracle) Mehrere Zeilen in der Values-Klausel (DB2) Sqlldr (Oracle) Load Utility (DB2)
14 Delete: delete from Tabelle where Suchbedingung Bemerkungen: Einige DBS verbieten es, in der Suchbedingung die Tabelle zu referenzieren, aus der gelöscht wird. Es ist zu beachten, daß das vollständige Löschen der Daten aus einer Tabelle i.a. effizienter möglich ist als per delete-anweisung (truncate Anweisung bei Oracle, Load einer leeren Datei in die Tabelle bei DB2)!
15 Update Das Update Statement in SQL hat prinzipiell die Form update tabelle set Spalte = Ausdruck, Spalte = Ausdruck,... where suchbedingung Bemerkungen: Die Ausdrücke in der set-klausel können auch Subqueries sein, die maximal eine Zeile liefern. Man spricht dann von einem korrelierten Update. Einige DBS verbieten, daß in den Ausdrücken in der set-klausel oder/und in der Suchbedingung die zu ändernde Tabelle vorkommt. Einige DBMS erlauben es, die set Klausel in der Form Spaltenliste = Ausdruckliste zu formulieren.
Datenmanipulation in SQL. Select Anweisung
Datenmanipulation in SQL Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen mit
MehrAbfragen (Queries, Subqueries)
Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl
MehrSQL als Zugriffssprache
SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl
MehrSQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.
SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit
MehrEs geht also im die SQL Data Manipulation Language.
1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.
MehrSELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.
SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte
MehrMySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.
MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt
MehrDatenbanksysteme Kapitel 5: SQL Data Manipulation Language
Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni
MehrDatenbankabfragen und Datenmanipulation
Datenbankabfragen und Datenmanipulation Datenbankabfragen auf einer Tabelle...1 SELECT Abfrage...1 Projektion...2 Wertausdrücke...3 Numerische Wertausdrücke...3 Zeichenkettenwertausdrücke...3 Datums und
MehrACCESS SQL ACCESS SQL
ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache
MehrSQL. Abfragesprache Datenmanipulation - DML
SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrDaten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
MehrISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de
08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)
Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle
MehrKapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)
Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
MehrWelche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.
*HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.
Mehr3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7
1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern
MehrEinführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten
Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem
MehrEinführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)
Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data
MehrSQL: Weitere Funktionen
Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:
MehrDetails zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.
SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von
MehrEinführung in die Spezialisierungsrichtungen
Einführung in die Spezialisierungsrichtungen SQL Dr. Matthias Baumgart 23. November 2012 Einführung Logische Datenbankorganisation Die logische Datenbankorganisation erfolgt in drei Schritten: 1 Aufstellen
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
MehrSQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:
SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In
MehrDatenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum:
Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung Stefan Maihack Dipl. Ing. (FH) Datum: 28.10.2005 1 einfachste SELECT-Anweisung Alle Inhalte einer Tabelle holen: SELECT * FROM land; 2 DML - SELECT
MehrSQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT
SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch
MehrLösungen der Übungsaufgaben von Kapitel 10
Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird
MehrVielen Dank an Dennis Riehle für die Bereitstellung dieser Folien
Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS
MehrQuery Languages (QL) Relationale Abfragesprachen/Relational
Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell
MehrIntroduction to Data and Knowledge Engineering. 6. Übung SQL
Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 6 Vertiefung Relationale Algebra Anzeigen von Daten aus mehreren Tabellen Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 22
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.
MehrSQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck
SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT
MehrOperationen auf Relationen
Existierende relationale Datenbanken Beispiele von relationalen DB-Systemen: DB2, SQL (v. IBM), ORACLE, INGRES, INFORMIX, SYBASE, ACCESS u.v.a.m. Die dominierende Query-, DB-Language: SQL (Structured Query
MehrSQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries
SQL 2 Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Fortgeschrittene SQL-Konstrukte groupby having union / intersect / except Aggregatfunktionen revisited Subqueries Korrelierte
MehrARBEITSBLATT ZUR SQL-BEFEHLEN
Gegeben ist die folgende Datenbank: ARBEITSBLATT ZUR SQL-BEFEHLEN In einer Firma gibt es Mitarbeiter. Jeder Mitarbeiter ist eindeutig einer Abteilung zugeordnet. Manche Mitarbeiter sind an einem Projekt
MehrSQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander.
SQL Komplexe Abfragen Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. Voraussetzung für das Verständnis ist die Beherrschung einfacher SELECT-Abfragen Die Möglichkeit, Tabellen zu verknüpfen,
MehrDatenbanksysteme Kapitel 5: SQL Data Manipulation Language
Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrDatenbankanfragen mit SQL. Dipl.-Ing. D. Gerst Frühjahr 2005
Datenbankanfragen mit SQL Dipl.-Ing. D. Gerst Frühjahr 2005 1 KOMPONENTEN DER SPRACHE 2 1.1 GRUNDELEMENTE 2 1.1.1 ZEICHEN 2 1.1.2 LITERALE 2 1.1.3 SCHLÜSSELWORTE 2 1.2 DATENTYPEN 2 1.3 PRÄDIKATE 3 1.4
MehrSQL-Befehlsliste. Vereinbarung über die Schreibweise
Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
MehrSQL: Abfragen für einzelne Tabellen
Musterlösungen zu LOTS SQL: Abfragen für einzelne Tabellen Die Aufgaben lösen Sie mit dem SQL-Training-Tool LOTS der Universität Leipzig: http://lots.uni-leipzig.de:8080/sql-training/ Wir betrachten für
MehrU 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:
U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über
MehrDatenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2015 noch Kapitel 7: SQL Vorlesung vom 12.05.2015 Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Schlüsselworte select from where order by asc desc as like upper
MehrSQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software
SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4
Mehr4.5 Anfragen mit Mengenoperatoren
4. Der SQL-Standard 4.5. Anfragen mit Mengenoperatoren 4.5 Anfragen mit Mengenoperatoren UNION,INTERSECT und. Die beteiligten Tabellen müssen zueinander kompatible Spaltentypen haben. Die Resultatspalte
MehrAufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.
Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrBibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
Mehr10 SQL-Basics: Erweiterte Abfragen mit SELECT Im Mittelpunkt dieses Kapitels steht nicht nur die einfache Auswahl von Spalten, sondern auch die
10 SQL-Basics: Erweiterte Abfragen mit SELECT Im Mittelpunkt dieses Kapitels steht nicht nur die einfache Auswahl von Spalten, sondern auch die Gestaltung eines Abfrageergebnisses mit Hilfe von Aggregatfunktionen
Mehrdbis Praktikum DBS I SQL Teil 2
SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP
MehrAuf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13
Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel
MehrMusterlösung zur Finalklausur Datenbanksysteme am
Musterlösung zur Finalklausur Datenbanksysteme am 5.2.2003 Aufgabe 1 a) Anfragen: (20 Punkte) i.suchen Sie die Stücke (Titel), die Komponist Lennon erstellt hat und von der Musikfirma EMI veröffentlicht
MehrLeseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.
Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.1 im Internet: www.datenbanken-programmierung.de... 3.0 SQL nach
MehrSeminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie
Seminar 1 SQL Abfragen DML Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro 21 331 1235 Meisel Amelie meisel@cs.ro 22 331 1236 Krause Julia krause@cs.ro 21 332 1237 Rasch
Mehr2.5 Relationale Algebra
2.5 Relationale Algebra 2.5.1 Überblick Codd-vollständige relationale Sprachen Relationale Algebra Abfragen werden durch exakte Angabe der auf den Relationen durchzuführenden Operationen formuliert Relationenkalküle
MehrKapitel 5: Sortieren, Gruppieren und Views in SQL
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2016/2017 Kapitel 5: Sortieren, Gruppieren
MehrIV. Datenbankmanagement
Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.
MehrMicrosoft Access 2010 SQL nutzen
Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)
MehrDie bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.
Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
Mehr3. Grundlagen relationaler Datenbanksysteme
3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen
MehrInformatik Datenbanken SQL-Einführung
Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................
MehrSQL ist eine relational vollständige Datenbanksprache.
SQL-Abfragen 1. Einleitung SQL ist eine relational vollständige Datenbanksprache. SQL steht für Structured Query Language. Der englische Ausdruck Query steht für Abfrage. SQL wurde in den siebziger Jahren
Mehr1. Einleitung. SQL-Abfragen. 3. Das ERM der Übungsdatenbank. 2. Grundstruktur von SQL-Abfragen
1. Einleitung 9. Oktober 2012 SQL ist eine relational vollständige Datenbanksprache. SQL steht für Structured Query Language. Der englische Ausdruck Query steht für Abfrage. SQL wurde in den siebziger
MehrInhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15
Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................
MehrOracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL
Oracle und SQL Kompakt-Intensiv-Training In unsere Schulung "Oracle und SQL" erhalten Sie einen breitgefächerten Überblick über die fachmännische und effektive Nutzung der SQL-Implementierung in Oracle.
MehrSQL-Befehlsliste. Vereinbarung über die Schreibweise
Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile
Mehrgibt es kein Bundesland, en?"
Allquantoren: : ein heißes es Eisen! "Welche Flüsse fließen en durch alle Bundesländer nder?" ( ( SELECT FL1.Fluss fluss_durch_land AS AS FL1 FL1 WHERE NOT NOT EXISTS ( ( SELECT * land land AS AS L WHERE
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
MehrUnterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
MehrWeb-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme
Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische
MehrProfessioneller Einstieg in Oracle Database 11g SQL
Oracle University Kontakt: +41- (0) 56 483 31 31 Professioneller Einstieg in Oracle Database 11g SQL Dauer: 5 Tage Lerninhalte Die Teilnehmer lernen die relationalen Datenbankkonzepte kennen. Der Kurs
MehrFortsetzung: Projektion Selektion. NULL Werte
Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134
MehrIn diesem Abschnitt wollen wir uns mit einem besonderen Thema widmen. Dem Thema SQL-JOIN.
1 In diesem Abschnitt wollen wir uns mit einem besonderen Thema widmen. Dem Thema SQL-JOIN. Logisch angesiedelt ist dieses Thema bei dem SQL-DML Anweisungen, da es sich um einen besonderen Aspekt bei Select
MehrInhaltsverzeichnis. a. Standorte...3 1. PostgreSQL...6. b. Impressum... 10. A. PostgreSQL...6. i. Einrichtung und Administration...
2 Inhaltsverzeichnis a. Standorte...3 1. PostgreSQL...6 A. PostgreSQL...6 i. Einrichtung und Administration... 6 ii. SQL Einstieg...8 b. Impressum... 10 3 a. Standorte Unsere Seminare finden an verschiedenen
MehrDatenbanken. Zusammenfassung. Datenbanksysteme
Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm
MehrSructred Query Language
Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen
Mehr[1] DBS-exercice
[1] DBS-exercice 1.11.14 Daten abfragen (SELECT) Wenn Sie die Möglichkeiten des SELECT-Befehls nutzen, müssen Sie diese Reihenfolge der einzelnen Befehlskomponenten einhalten: SELECT spaltenliste FROM
MehrKapitel 5: Der SQL-Standard
Kapitel 5: Der SQL-Standard 5. Der SQL-Standard 5. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck
MehrAggregatfunktionen in SQL
Aggregatfunktionen in SQL Michael Dienert 14. April 2008 1 Definition von Aggregatfunktionen Ihren Namen haben die Aggregatfunktionen vom englischen Verb to aggregate, was auf deutsch anhäufen, vereinigen,
MehrDatenbanken SQL. Insert, Update, Delete, Drop. Krebs
Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse
Mehr8 DML (1) Daten abfragen
8 DML (1) Daten abfragen Eine Datenbank enthält eine Vielzahl verschiedener Daten. Abfragen dienen dazu, bestimmte Daten aus der Datenbank auszugeben. Dabei kann die Ergebnismenge gemäß den Anforderungen
MehrSQL. Structured Query Language
SQL Structured Query Language Grundlagen zu Abfrage SQL Jede SQL-Abfrage enthält die drei Hauptbefehle: select (engl. auswählen), from (engl. von) und where (engl. wo). Mit select gibt man an, welche Spalten
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrSQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
MehrSQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin
SQL Wiederholung Datenbanktechnologien Prof. Dr. Ingo Claÿen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Verbunde Aggregation und Gruppierung Unterabfragen Verbunde Inner-Join Nur
MehrUniversität Augsburg, Institut für Informatik WS 2005/2006 Prof. Dr. Werner Kießling 21. Nov M. Endres, A. Huhn, P. Preisinger Lösungsblatt 4
Universität Augsburg, Institut für Informatik WS 2005/2006 Prof. Dr. Werner Kießling 21. Nov. 2005 M. Endres, A. Huhn, P. Preisinger Lösungsblatt 4 Datenbanksysteme I Aufgabe 1: Relationale Vollständigkeit
MehrSQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
MehrEinführung in Datenbanken und SQL
Veranstaltung Pr.-Nr.: 101023 Einführung in Datenbanken und SQL Veronika Waue WS 07/08 Übung 5 Welche Lehrangebote haben die Pruefungsnummer 10027? Jeder Titel soll nur einmal ausgegeben werden. (Achtung
MehrKommunikation und Datenhaltung. Übungsblatt D1. (Relationale Algebra & SQL)
Kommunikation und Datenhaltung Übungsblatt D1 (Relationale Algebra & SQL) Ausgabe: 18.05.2009 Besprechung: 25.05.2009 Alle Aufgaben auf diesem Übungsblatt beziehen sich auf ein leicht abgewandeltes Datenbankschema
MehrÜbung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL
Anfragen an Datenbanken mit SQL Folie 28 Syntax einer Anfrage SFW-Anfrage (Select-From-Where-Anfrage) SELECT Projektion π FROM Kart. Produkt WHERE Selektion
MehrOracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch)
Oracle University Kontakt: 0180-2000-526 / +49 89-14301200 Oracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch) Dauer: 5 Tage Lerninhalte Die Teilnehmer lernen die relationalen Datenbankkonzepte
Mehr105.3 SQL-Datenverwaltung
LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a
Mehr