SQL Fortsetzung: Joins, Subselects, Aggregatfunktionen, Derived Tables, Views
|
|
- Irmgard Burgstaller
- vor 7 Jahren
- Abrufe
Transkript
1 Teil 3: SQL Fortsetzung: Joins, Subselects, Aggregatfunktionen, Derived Tables, Views Joins Unser bisheriges SQL erlaubt bereits die Spezifikation von INNER-Joins durch Kombination von Produkt und Restriktion. In vielen Fällen, im speziellen für OUTER-Joins ist es aber erforderlich, spezielle Syntax für Joins zu verwenden. Statt eines Produktes in SelBase spezifiziert man gleich den Join inklusive der Join- Bedingung (Restriktion). Das kann in manchen Fällen auch zu höherer Effizienz führen. In jedem Fall verbessert es die Lesbarkeit von Select-Anweisungen. SelBase = Tabellenname {", " Tabellenname JoinType Tabellenname "ON" Cond}. JoinType = (("LEFT" "RIGHT" "FULL") ["OUTER"] ["INNER"]) "JOIN". Bei Outer-Joins wird ein erweitertes Produkt gebildet, dass alle Tupel der rechten, linken oder beider Relationen enthält. Fehlende Attribute sind als NULL definiert. Die obige Grammatikregel für SelBase ist etwas vereinfacht. In Wirklichkeit können Joins auch geklammert werden um von der Linksassoziativität abzuweichen. Manche Datenbanken (z.b. Oracle) unterstützen diese Form von Joins nicht. Sie erlauben OUTER-Joins über spezielle Vergleichsoperatoren (z.b. =*, *=, *=*), die zur Bildung eines erweiterten Produktes führen. Diese Form ist aber weniger mächtig, nicht standardisiert und führt nicht immer zum genau gleichen Ergebnis. Beispiel: Suche freie Artikelnummern unter Berücksichtigung von Lücken mittels LEFT-Join SELECT A.artnr + 1 A LEFT JOIN Artikel B ON (A.artnr + 1 = B.artnr) WHERE B.artnr IS NULL Subselect SQL erlaubt die Verwendung von SELECT auch innerhalb von Ausdrücken (Subselect, Subquery, nested select). In diesem Fall muss der SELCT-Ausdruck in runde Klammern eingeschlossen werden. Generell wird zwischen correlated und uncorrelated Subqueries unterschieden. Eine uncorrelated Subquery verwendet keine Attribute der umschließenden Query. Es genügt daher, wenn das RDBMS sie ein einziges Mal ausführt und die Ergebnisse für die Verwendung in der umschließenden Query zwischenspeichert. Eine correlated Subquery liegt vor, wenn die Subquery Attribute der umschließenden SELECT-Anweisung benutzt. Die Subquery muss dann für alle Tupel der umschließenden Anweisung ausgeführt werden. In vielen Fällen lassen sich solche Subselects auch als Joins schreiben. In manchen Fällen kann der Query- Compiler ein derartiges Subselect automatisch in einen Join umformen und damit effizienter ausführen. Subselect = "(" SelectExpr ")". Beispiel für correlated Subquery: Suche freie Artikelnummern unter Berücksichtigung von Lücken mittels Subquery.
2 SELECT artnr + 1 A WHERE (SELECT B.artnr B WHERE B.artnr = A.artnr + 1) IS NULL Exists Der EXISTS-Operator innerhalb von Ausdrücken wertet ein SELECT aus und liefert true, wenn das Ergebnis nicht leer ist. ExistsOp = "EXISTS" Subselect. Beispiel: Suche freie Artikelnummern unter Berücksichtigung von Lücken mittels EXISTS. SELECT artnr + 1 A WHERE NOT EXISTS (SELECT B.artnr B WHERE B.artnr = A.artnr + 1) Quantifizierte Operatoren ALL oder ANY (alias SOME) nach Vergleichsoperator (=, <>, <, >, <=, >=) (z.b. =ANY) vergleicht einen skalaren Wert mit einer Menge von einstelligen Tupel. Semantisch steckt dahinter ein Allquantor der Art: (für alle i: i Element aus Subselect: skalar op i) bzw. ein Existenzquantor der Art (es existiert ein i: i Element aus Subselect: skalar op i). quantifiedop = ("=" "<>"... ">=") ("ALL" "ANY" "SOME") Subselect. Beispiel: Selektiere alle Lieferanten, von denen in der Tabelle Artikel ausschließlich teure Artikel (preis > 1000) geführt werden. SELECT * FROM Lieferant L WHERE 1000 < ALL (SELECT preis A WHERE A.lifnr = L.lifnr) Mengenwertiges Insert Durch Kombination von INSERT und SELECT kann in vielen RDBMS nicht nur eine Zeile pro INSERT eingefügt werden, sondern eine ganze Relation. Die Regel für die Insert-Anweisung wird erweitert zu: InsertStat = "INSERT" ["INTO"] Tabellenname ["(" AttrList ")"] ("VALUES" "(" Const {"," Const} ")" SelectExpr). Beispiel: Kopieren einer Tabelle INSERT INTO ArtikelCopy SELECT * Erzeugen einer großen Testtabelle: Annahme: sch(tab10): {[x: integer]} mit den Werten INSERT INTO BigTable SELECT T1.x* T2.x* T3.x*100 + T4.x*10 + T5.x FROM Tab10 T1, Tab10 T2, Tab10 T3, Tab10 T4, Tab10 T5
3 Aggregatfunktionen Erlauben das Verdichten von Mengen auf skalare Werte. Beispiele sind das Zählen der Elemente, das Bilden einer Summe, das Finden von Maximum oder Minimum oder das Bilden des arithmetischen Mittels. Aggregatfunktionen sind innerhalb von SelList erlaubt. Ein Mischen von Aggregatfunktionen und normalen Attributen oder Ausdrücken, in den normale Attribute vorkommen, ist nicht sinnvoll und daher verboten. Man kann eine Relation nicht gleichzeitig verdichten und nicht verdichten. AggregateFunction = "COUNT" "(" "*" ["DISTINCT"] Name ")" "SUM" "(" ["DISTINCT"] Expr ")" "MIN" "(" Expr ")" "MAX" "(" Expr ")" "AVG" "(" ["DISTINCT"] Expr ")". Man beachte den Unterschied zwischen SELECT DISTINCT... und DISTINCT innerhalb einer Aggregatfunktion. Das äußere DISTINCT wirkt auf die Ergebnismenge, das DISTINCT innerhalb der Aggregatfunktionen wirkt auf die Berechnung dieser Funktion. Wenn SELECTs mit Aggregaten nur eine Ergebniszeile liefern, ist das äußere DISTINCT auf jeden Fall überflüssig. Beispiele: Die Anzahl der verschiedenen Lieferanten der Artikel SELECT COUNT(DISTINCT lifnr) Der gesamte Lagerwert: SELECT SUM(preis * menge) AS Lagerwert Gruppenwechsel Die Aggregatfunktionen wirken normalerweise auf die gesamte Ergebnismenge. Manchmal möchte man aber eine Gruppenbildung innerhalb einer Ergebnisrelation und auf die Gruppen möchte man Aggregatfunktionen anwenden. Ein Beispiel wäre eine Tabelle der Lagerwerte pro Lieferant. Diese könnte mit einem Subselect erstellt werden wie folgt: SELECT DISTINCT lifnr, (SELECT SUM(menge * preis) AS A WHERE A.lifnr = Artikel.lifnr) AS Lagerwert Der Nachteil dieser Lösung ist die komplizierte Formulierung und die ev. langsame Ausführung, wenn für jeden Lieferant (ohne ausreichende Optimierung) ein Subselect ausgeführt wird. Abhilfe schafft hier der Gruppenwechselmechanismus von SQL, der es gestattet, die Gruppierung durch das syntaktische Konstrukte GROUP BY angefügt an SelectTerm auszudrücken. SelectTerm = "SELECT"... ["GROUP" "BY" AttrList ]. Bei jeder Änderung einer der Ausdrücke in der Gruppierungsliste wird ein Gruppenwechsel ausgelöst und die Aggregatfunktionen wirken auf alle Elemente der Gruppe. Attribute, die in der Gruppenwechselliste vorkommen, können in SelList stehen. Obiges Beispiel kann damit vereinfacht werden zu:
4 SELECT lifnr, SUM(menge * preis) AS Lagerwert GROUP BY lifnr Es könnte auch eine Sortierung der Ausgabe erfolgen unter Verwendung der Ergebnisse der Aggregatfunktionen. SELECT lifnr, SUM(menge * preis) AS Lagerwert GROUP BY lifnr Nicht in jedem Fall möchte man alle Gruppen ausgeben. Daher benötigt man noch einen Mechanismus zur Einschränkung der betrachteten Gruppen. Dieser Mechanismus ist in Form der HAVING-Klausel verfügbar. Die nach HAVING angegebene Bedingung muss für die Gruppen erfüllt sein. In der Having-Bedingung sind nur Attribute erlaubt, die auch für die Gruppierung verwendet werden einschließlich Aggregatfunktionen, die im WHERE nicht erlaubt sind. SelectTerm = "SELECT"... ["GROUP" "BY" Expr {"," Expr} ["HAVING" Cond]]. Beispiel: Selektieren der Lagerwerte der wichtigen Lieferanten, das seien jene, für die der Lagerwert eine bestimmte Grenze überschreitet. SELECT lifnr, SUM(menge * preis) AS Lagerwert GROUP BY lifnr HAVING SUM(menge * preis) > Roll-up, drill-down Das Hinzufügen von Attributen in die Gruppierungsliste wird als drill-down bezeichnet. Mit jedem zusätzlichen Attribut erfolgt eine feinere Gruppierung und damit eine weniger starke Verdichtung der Daten. Das Gegenteil ist das Weglassen von Attributen, das als roll-up bezeichnet wird. Es führt zu einer gröberen Gruppierung und damit zu einer stärkeren Verdichtung der Ergebnisse. Das extremste roll-up ist das Weglassen aller Attribute, das zu einem einzigen Ergebnistupel führt weil die gesamte Tabelle als eine einzige Gruppe betrachtet wird. Das extremste drill-down wäre das Hinzufügen aller Attribute, was die ursprüngliche Tabelle als Ergebnis liefern würde. Data Warehouse Das Verdichten von Daten ist eine zeitaufwändige Operation wenn alle Tupel einer Relation berücksichtigt werden müssen. Solche Operationen können die gleichzeitige Benutzung eines RDBMS für andere Benutzer stark einschränken. Daher hat man sich eine Abhilfe überlegt, die zum Begriff Data Warehous führt. Darunter versteht man eine Ansammlung von Daten, die (hauptsächlich) read-only zugegriffen wird. Der Hauptzweck ist die statistische Analyse von historischen Daten, zum Beispiel die Analyse von Verkaufszahlen pro Jahr, Region, Artikelgruppe etc. Man spricht in diesem Zusammenhang auch von OLAP (online analytical processing) im Gegensatz zu OLTP (online transactional processing). Die Aggregierung von Daten in einem Data Warehouse ist durch die Verwendung einer speziellen Speicherungsstruktur wesentlich effizienter als mit normalen Relationen. Hat man kein Data Warehouse zur Verfügung, so kann man in vielen RDBMS durch Materialisierung von Aggregaten eine gute Lösung erzielen. Man möchte aber nicht für alle N möglichen drill-down Stufen einer Relation R eine eigene Aggregierung durchführen, weil der Aufwand (N * R ) ist, wobei N mit der Anzahl der Attribute exponentiell ansteigt (bei 3 Attributen ist N = 2 3 = 8) und N einzelne SQL-Befehle formuliert werden müssen. Besser ist es, wenn man mit einem Befehl (und einem Durchlauf) die feinste Gruppierung durchführt und basierend auf diesen Daten alle möglichen roll-up Stufen berechnet. Dadurch können
5 weniger stark verdichtete Daten aus stärker verdichteten Daten ermittelt werden, ohne jedes mal die gesamte Relation zu lesen.genau diese Eigenschaft hat der CUBE-Operator, der in vielen RDBMS verfügbar ist. Der Operator ROLLUP, der meist zusätzlich zu CUBE verfügbar ist, liefert nicht alle möglichen 2 x Kombinationen von Verdichtungen sondern geht hierarchisch (gemäß der Attributreihenfolge) vor und liefert damit x Verdichtungsstufen. CUBE Operator Der Cube-Operator wird als Option zu GROUP BY angegeben und bewirkt dass zusätzlich zu den durch GROUP BY gelieferten Tupel alle möglichen Kombinationen von verdichteten Daten geliefert werden. Dabei gibt es verschiedene Schreibweisen. Die erste ist die in SQL-99 vorgeschlagene. Die zweite ist eine ältere Form. SelectTerm =... "GROUP" "BY" "CUBE" "(" AttrList ")". SelectTerm =... "GROUP" "BY" AttrList "WITH" "CUBE". Mit Hilfe der INSERT-SELECT Anweisung kann das Ergebnis von CUBE in eine Hilfstabelle geschrieben werden, die als Data-Warehouse verwendet werden kann. Der Cube-Operator liefert NULL für verdichtete Attribute. Man beachte, dass Primärschlüssel nicht NULL sein dürfen. Daher wird in folgendem Beispiel kein Primärschlüssel auf der Ergebnistabelle definiert. Beispiel: Verkaufstabelle enthält Tupel pro verkauftem Artikel. sch(verkauf): {[belegnr, artnr, jahr, region, artikelgruppe, menge]} sch(verkaufsstatistik): {[jahr, region, artikelgruppe, menge]} INSERT INTO Verkaufsstatistik SELECT jahr, region, artikelgruppe, sum(menge) FROM Verkauf GROUP BY jahr, region, artikelgruppe WITH CUBE Zur Selektion der Verkaufszahlen der Region 9: SELECT * FROM Verkaufsstatistik WHERE jahr IS NULL AND region = 9 AND artikelgruppe IS NULL Abgeleitete Tabellen (derived tables) Der Namensbestandteil S in SQL (Structured) kommt nicht zuletzt daher, dass man in SQL neben Subselects innerhalb von Ausdrücken auch Subselects zum Definieren der SelBase verwenden kann. Man kann also nicht nur eine in der Datenbank verfügbare (physische) Tabelle verwenden sondern auch Tabellen, die durch Selects definiert sind. Damit können komplexe Bedingungen, die man nur schwer oder gar nicht in einem SELECT unterbringt, in mehrere einfache Selects zerlegt werden, die von innen nach aussen zusammengesetzt werden. Solche innerhalb eines Selects erzeugten und benannten Hilfstabellen heissen abgeleitete (engl. derived) Tabellen. SelBase = (Tabellenname Subselect ["AS"] Name).... Beispiel: Einschränken des Ergebnisses einer Aggregatfunktion ohne Verwendung von HAVING, zb Selektion der Lagerwerte aller Lieferanten mit Wert > 1000
6 SELECT lifnr, Lagerwert FROM (SELECT lifnr, SUM(menge * preis) AS Lagerwert GROUP BY lifnr) AS LWert WHERE Lagerwert > 1000 Views Zur weiteren Vereinfachung von Selects kann man eine derived table auch im Schema der Datenbank unter einem Namen ablegen und hat sie über diesen Namen zur Verfügung. Man spricht in diesem Fall von einer View. Überall (oder fast überall) wo bisher ein Tabellenname verwendet werden konnte, kann auch ein Viewname stehen. Die Regel für SelBase erweitert sich damit auf: SelBase = (Tabellenname Viewname Subselect ["AS"] Name).... Views werden durch das DDL-Kommando CREATE VIEW definiert und gespeichert. Optional kann eine Umbenennung der Attributnamen erfolgen. Views sind nicht parametrisierbar. CreateViewStat = "CREATE" "VIEW" Viewnanme ["(" Name {"," Name ")"}] "AS" SelectExpr. Beispiel: CREATE VIEW LWert AS SELECT lifnr, SUM(menge * preis) AS Lagerwert GROUP BY lifnr SELECT lifnr, Lagerwert FROM LWert WHERE Lagerwert > 1000 Views können mit dem Befehl DROP VIEW wieder gelöscht werden. DropViewStat = "DROP" "VIEW" Viewname. Beispiel DROP VIEW LWert Update einer View Unter bestimmten Bedingungen können auf Views auch UPDATE, INSERT, DELETE-Operationen angewendet werden. Im einfachsten Fall einer 1:1 View kann das einfach nachvollzogen werden. CREATE VIEW ArtikelView AS SELECT * Die View ist identisch zur darunterliegenden Tabelle, daher wirken sämtliche Modifikation so, also ob sie auf Artikel angewendet würden. Bei Verwendung von Projektion, Joins, etc. wird es schon schwieriger, bei Verwendung von Aggregaten oder UNION wird es unmöglich. RDBMS stellen häufig spezielle Mechanismen bereit, um View-Updates explizit definieren zu können. Die ursprünglich angeforderte Änderungsoperation wird auf eine spezielle Anweisung abgebildet, die als Teil des Schemas definiert ist (z.b. INSTEAD OF Trigger in MsSQL Server). RDBMS müssen Information bereitstellen, ob eine View Updateable ist oder nicht. Zumindest einfache Views müssen updateable sein.
7 Anwendung von View Updates speziell nach Schemaänderungen, um Anwendungen unverändert zu lassen. Die alte Tabelle wird als View basierend auf einer neuen, modifizierten Tabelle bereitgestellt.
Übersicht der wichtigsten MySQL-Befehle
Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen 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
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
Mehrinsert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle
Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist
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
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.
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:
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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrRückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung
Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen
MehrDatenbanksysteme Kapitel 5: SQL - Grundlagen
Datenbanksysteme Kapitel 5: SQL - Grundlagen Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Prof. Peter Dr. Chamoni Peter
MehrDatenbanksysteme Kapitel 5: SQL Grundlagen Teil 1
Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Prof. Dr. Dr. Peter Peter
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
MehrSeminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.
Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu
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.
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
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,
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
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
MehrSQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47
SQL-Sprachvielfalt DML Data Manipulation Language: Daten einfügen, ändern und löschen DQL Data Query Language: Daten abfragen DDL Data Definition Language: Tabellen und andere Strukturelemente erzeugen,
MehrAntwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB "Zugriff" auf Tupel mit Tupel-Variablen
Kapitel 6.3 SQL als Anfragesprache Kap. 6.3.1 Allgemeine Begriffe Identifiers: Var-Name ~ Tupel-Variable Table-Name ~ Rel., View Field-Name ~ Attribut-Bez. Key-Words: select where key is integer string
MehrAggregatfunktionen in der Relationenalgebra?
Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in
MehrDatenbanken im WI-Unterricht mit
Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................
MehrDatenbank Grundlagen. Performanceuntersuchungen
Vorlesung Datenbanken, Entwurfsarbeit 1 Fachbereich Automatisierung und Informatik Wernigerode Datenbank Grundlagen Performanceuntersuchungen Entwicklung einer Datenbank zur Verwaltung eines Bestellwesens
MehrGrundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich
Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)
Mehr5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp
5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries
MehrDatenmanipulation in SQL (1): Subselect:
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
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
MehrDaniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis
Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen
MehrDatenmanipulation 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
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes
MehrSQL Data Manipulation Language (DML) und Query Language (QL)
Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität
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
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
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
MehrSQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)
SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro
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
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel : Datenbanksysteme Vorlesung:
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
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
MehrAnwendungsentwicklung Datenbanken SQL. Stefan Goebel
Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten
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,
Mehr7. Einfache Auswertungen aus der Datenbank (select)
7. Einfache Auswertungen aus der Datenbank (select) [ ] 7.3 rojektion Erzeuge eine Übersicht aller existierender Warengruppen Select distinct warengruppe from artikel - WS 2007/2008 - rof. Dr. Klaus-Dieter
MehrVorlesung Wissensentdeckung in Datenbanken
Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Uwe Ligges Informatik LS 8 22.04.2010 1 von 26 Gliederung 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der
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. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)
SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro
MehrVorlesung Wissensentdeckung in Datenbanken
Gliederung Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Claus Weihs 14.07.2009 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der Cube-Operator 5 Implementierung
MehrUniversität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie
Mehr1 Equi Join und Inner Join
1 Equi Join und Inner Join Die allgemeine Form des Equi Join lautet: SELECT Tabelle1.Feld1, Tabelle2.Feld3 FROM Tabelle1, Tabelle2 WHERE Tabelle1.Feld2 = Tabelle2.Feld2 2 beliebige Felder in zwei Tabellen
MehrVIEWS UND WEITERE TABELLEN-OPERATIONEN
KAPITEL 9 VIEWS UND WEITERE TABELLEN-OPERATIONEN 9.1 Vereinbarung und Einsatz von Views 9.1.1 Einrichtung von Views Die CREATE VIEW-Anweisung Von Ausnahmen abgesehen ist es wie wir zuvor erläutert haben
MehrSchlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1
Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'
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
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
MehrDatenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken
Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 17. V. 2017 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel
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
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
MehrSQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)
SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro
MehrDB2 for z/os. Teil 2 SQL
DB2 for z/os Teil 2 SQL cps4it consulting, projektmanagement und seminare für die informationstechnologie Ralf Seidler, Stromberger Straße 36A, 55411 Bingen Fon: +49-6721-992611, Fax: +49-6721-992613,
MehrPRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007
PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =
MehrDB2 for z/os. Teil 2 SQL
DB2 for z/os Teil 2 SQL cps4it consulting, projektmanagement und seminare für die informationstechnologie Ralf Seidler, Stromberger Straße 36A, 55411 Bingen Fon: +49-6721-992611, Fax: +49-6721-992613,
MehrSQL,Teil 3: Unterabfragen, Views & Berechnungen
SQL,Teil 3: Unterabfragen, Views & Berechnungen W. Spiegel Übersicht Hinweis... Unterabfragen (subqueries) Virtuelle Spalten: AS Logik Berechnungen: Aggregatfunktionen in SQL GROUP BY & HAVING Views (Sichten)
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
MehrData Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube
Data Cube 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator 5. Implementierung des Data Cube 6. Zusammenfassung und Ausblick Dank an Hanna Köpcke! 1 On-line Analytical
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
MehrInduktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren.
1 Aufgabe 3.1: Wir beweisen durch Induktion über die Anzahl Operatoren π, σ,,,, δ eines Ausdrucks der Relationenalgebra, dass zu jeder Anfrage der Relationenalgebra eine äquivalente Anfrage in SQL existiert.
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
Mehr4. Objektrelationales Typsystem Kollektionstypen. Nested Table
Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen
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
MehrBeispiel zur referentiellen Integrität
3. Der SQL-Standard 3.14. Integrität und Trigger Seite 1 Beispiel zur referentiellen Integrität CREATE TABLE T1( k1 NUMERIC NOT NULL PRIMARY KEY); CREATE TABLE T2( k2 NUMERIC NOT NULL PRIMARY KEY, k1 NUMERIC,
MehrTabellen verknüpfen: Joins
SQL2-1 - Tabellen verknüpfen: Joins Bisher haben wir Tabellen mittels Unterabfragen verknüpft d. h. eine Spalte einer anderen Tabelle kann ein Selektionskriterium liefern. Wie kann man aber eine "echte"
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
MehrDatenbank und Tabelle mit SQL erstellen
Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`
MehrDatenbank-Tuning. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 7 Datenbank-Tuning Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create
MehrData Cubes PG Wissensmangement Seminarphase
PG 402 - Wissensmangement Seminarphase 23.10.2001-25.10.2001 Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund Übersicht 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit
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
MehrEinleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002)
Betrifft Autör: GROUPING_ID Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem Oracle9i Data Warehousing Guide und den Kursen New Features Oracle9i
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.
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 30.5.2016 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Datentypen character (n),
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
MehrFortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator
Fortsetzung: Anfragen mit SQL Bisher: Projektion, Selektion, Duplikatbehandlung, NULL Werte Kreuzprodukt, Inner Join Mengenoperationen Sortierung Geschachtelte Anfragen Existenzquantor, Mengenvergleich
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
MehrDatenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen
Datenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen 28. V. 2018 Outline 1 Organisatorisches 2 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 3 Ranking 4 SQL Organisatorisches Ergebnisse
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.
MehrDatenmanagement I SoSe 2006 Aufgabenblatt 4
Datenmanagement I SoSe 2006 Aufgabenblatt 4 June 11, 2009 Versuchen Sie, einige der Anfragen zu formulieren (ab Punkt 6), die im Tutorium stehen, das hier zu finden ist: http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/dm/tut/tutorium.html.
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 - Datenbankdesign - Aufbau
SQL - Datenbankdesign - Aufbau Kompakt-Intensiv-Training Unsere fünftägige ANSI SQL Schulung vermittelt Ihnen alle nötigen Kenntnisse zur Erstellung von Datenauswertungen und Programmierung wiederkehrender
MehrDatenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken
Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 31. V. 2016 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel
MehrDatenbanken und SQL. Kapitel 4. Die Datenbankzugriffssprache SQL. Edwin Schicker: Datenbanken und SQL (4)
Datenbanken und SQL Kapitel 4 Die Datenbankzugriffssprache SQL Die Datenbankzugriffssprache SQL Der Select-Befehl Der Hauptteil des Select-Befehls From-, Where-, Select-Klausel Group By und Having Join
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
MehrMaterialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1
Materialized Views Jan-Peter Timmermann DOAG Regiotreffen Hamburg: Materialized Views Seite 1 Klassische View Sind virtuelle Tabellen Erstellung nicht aufwendig, da nur ein Eintrag im Data Dictionary vorgenommen
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
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
Mehr