GROUP BY, HAVING und Sichten

Ähnliche Dokumente
Aggregatfunktionen in SQL

TU 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.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Introduction to Data and Knowledge Engineering. 6. Übung SQL

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Datenbanksysteme 2013

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Kapitel 5: Der SQL-Standard

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

9. Sicherheitsaspekte

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Kapitel 8: Datenintegrität

Übungen zu Datenbanksysteme

Wiederholung VU Datenmodellierung

TU 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.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL,Teil 3: Unterabfragen, Views & Berechnungen

Oracle 10g Einführung

Datenbankensysteme Aufgabenblatt 2

Übersicht der wichtigsten MySQL-Befehle

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Materialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

SQL Data Manipulation Language (DML) und Query Language (QL)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

ARBEITSBLATT ZUR SQL-BEFEHLEN

7. XML-Datenbanksysteme und SQL/XML

Wirtschaftsinformatik Jgst. 9/10. Fortbildung am in Ansbach

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Aufgabe 1 Indexstrukturen

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Migration einer relationalen Datenbank für annotierte Sprachdaten nach neo4j - erste Erfahrungen

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

dbis Praktikum DBS I SQL Teil 2

Übung 3. Interaktive Abfragen auf eine SQL-Datenbank. Prof. Dr. Andreas Schmietendorf. Wirtschaftsinformatik

SQL Intensivpraktikum SS 2008

Übung zu Datenbanken. Musterlösung zur 1. Probeklausur. Dipl.-Inform. Sascha Kriewel

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

Grundlagen Datenbanken Sommersemester 2008

Vorlesung Wissensentdeckung in Datenbanken

Datenbanksysteme Kapitel 5: SQL - Grundlagen

SQL: Weitere Funktionen

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries

SQL: Abfragen für einzelne Tabellen

Aufgabensammlung SQL SW4 1. Einfache Anfragen

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen:

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

ACCESS SQL ACCESS SQL

Die Spalte Prüfung und die Spalte Name enthielten mengenwertige Attribute. Zerlegung der Spalten in: Name, Vorname UND PrüfID, Prüfnote

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Relationale Anfragesprachen

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Übung 1: SQL. Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen? Vorlesung Datenbankeinsatz WS 04/05 IPD

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

cs241: Datenbanken mit Übungen HS 2011

Wissensentdeckung in Datenbanken

Übungen zur Vorlesung Informationssysteme - Blatt 5

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

7. Übung - Datenbanken

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenmanagement I SoSe 2006 Aufgabenblatt 4

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Vorlesung Wissensentdeckung in Datenbanken

Antwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB "Zugriff" auf Tupel mit Tupel-Variablen

Datenmodelle und Datenbanken 2

Objektrelationale und erweiterbare Datenbanksysteme

Datenbank Grundlagen. Performanceuntersuchungen

Die Anweisung create table

Kapitel 3: Datenbanksysteme

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

LindenSoft - Die Datenbankexperten

Gruppe 3 / 5 / 10. Tutorübung zu Einsatz und Realisierung von Datenbanksystemen (SS 17) Michael Schwarz

Niedersächsisches Kultusministerium Juli 2014

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Aggregatfunktionen in der Relationenalgebra?

Transkript:

GROUP BY, HAVING und Sichten Tutorübungen 09/33 zu Grundlagen: Datenbanken (WS 14/15) Michael Schwarz Technische Universität München 11.11 / 12.11.2014 1/12 GROUP BY HAVING Sichten

Eine Tabelle studenten Max Informatik TUM 3 Gabi Informatik LMU 4 Flo Geographie LMU 1 Natalie Geographie TUM 3 Lena Germanistik LMU 3 Bastian Mathematik HM 5 John Informatik LMU 10 Eine Abfrage Wie viele Studenten pro Uni? Aggregation nur auf einzelne Gruppe und nicht auf ganze Tabelle Lösung Hier für bietet SQL GROUP BY an. 2/12 GROUP BY HAVING Sichten

Eine Tabelle studenten Max Informatik TUM 3 Gabi Informatik LMU 4 Flo Geographie LMU 1 Natalie Geographie TUM 3 Lena Germanistik LMU 3 Bastian Mathematik HM 5 John Informatik LMU 10 Eine Abfrage Wie viele Studenten pro Uni? Aggregation nur auf einzelne Gruppe und nicht auf ganze Tabelle Lösung Hier für bietet SQL GROUP BY an. 2/12 GROUP BY HAVING Sichten

Eine Tabelle studenten Max Informatik TUM 3 Gabi Informatik LMU 4 Flo Geographie LMU 1 Natalie Geographie TUM 3 Lena Germanistik LMU 3 Bastian Mathematik HM 5 John Informatik LMU 10 Eine Abfrage Wie viele Studenten pro Uni? Aggregation nur auf einzelne Gruppe und nicht auf ganze Tabelle Lösung Hier für bietet SQL GROUP BY an. 2/12 GROUP BY HAVING Sichten

GROUP BY studenten Max Informatik TUM 3 Gabi Informatik LMU 4 Flo Geographie LMU 1 Natalie Geographie TUM 3 Lena Germanistik LMU 3 Bastian Mathematik HM 5 John Informatik LMU 10 Abfrage SELECT uni, COUNT ( ) FROM studenten GROUP BY uni ; 3/12 GROUP BY HAVING Sichten

GROUP BY studenten Max Informatik TUM 3 Gabi Informatik LMU 4 Flo Geographie LMU 1 Natalie Geographie TUM 3 Lena Germanistik LMU 3 Bastian Mathematik HM 5 John Informatik LMU 10 Abfrage SELECT uni, COUNT ( ) FROM studenten GROUP BY uni ; 3/12 GROUP BY HAVING Sichten

GROUP BY Gabi Informatik LMU 4 Flo Geographie LMU 1 Lena Germanistik LMU 3 John Informatik LMU 10 Max Informatik TUM 3 Natalie Geographie TUM 3 Bastian Mathematik HM 5 Abfrage SELECT uni, COUNT ( ) FROM studenten GROUP BY uni ; 4/12 GROUP BY HAVING Sichten

GROUP BY uni count TUM 2 LMU 4 HM 1 Abfrage SELECT uni, COUNT ( ) FROM studenten GROUP BY uni ; Aber Vorsicht...... im SELECT nur Aggregation von Attributen und Attribute nach denen gruppiert wurde. 5/12 GROUP BY HAVING Sichten

GROUP BY uni count TUM 2 LMU 4 HM 1 Abfrage SELECT uni, COUNT ( ) FROM studenten GROUP BY uni ; Aber Vorsicht...... im SELECT nur Aggregation von Attributen und Attribute nach denen gruppiert wurde. 5/12 GROUP BY HAVING Sichten

Was nicht funktioniert studenten Max Informatik TUM 3 Gabi Informatik LMU 4 Flo Geographie LMU 1 Natalie Geographie TUM 3 Lena Germanistik LMU 3 Bastian Mathematik HM 5 John Informatik LMU 10 Abfrage SELECT uni, fach, COUNT ( ) FROM studenten GROUP BY uni ; 6/12 GROUP BY HAVING Sichten

Was nicht funktioniert: Gabi Informatik LMU 4 Flo Geographie LMU 1 Lena Germanistik LMU 3 John Informatik LMU 10 Max Informatik TUM 3 Natalie Geographie TUM 3 Bastian Mathematik HM 5 Abfrage SELECT uni, fach, COUNT ( ) FROM studenten GROUP BY uni ; KEINE gültige Anfrage! Wie viele Stundenten studieren ein Fach an einer Uni? SELECT uni, fach, COUNT ( ) FROM studenten GROUP BY uni, fach ; 7/12 GROUP BY HAVING Sichten

Was nicht funktioniert: Gabi Informatik LMU 4 Flo Geographie LMU 1 Lena Germanistik LMU 3 John Informatik LMU 10 Max Informatik TUM 3 Natalie Geographie TUM 3 Bastian Mathematik HM 5 Abfrage SELECT uni, fach, COUNT ( ) FROM studenten GROUP BY uni ; KEINE gültige Anfrage! Wie viele Stundenten studieren ein Fach an einer Uni? SELECT uni, fach, COUNT ( ) FROM studenten GROUP BY uni, fach ; 7/12 GROUP BY HAVING Sichten

Was nicht funktioniert: Gabi Informatik LMU 4 Flo Geographie LMU 1 Lena Germanistik LMU 3 John Informatik LMU 10 Max Informatik TUM 3 Natalie Geographie TUM 3 Bastian Mathematik HM 5 Abfrage SELECT uni, fach, COUNT ( ) FROM studenten GROUP BY uni ; KEINE gültige Anfrage! Wie viele Stundenten studieren ein Fach an einer Uni? SELECT uni, fach, COUNT ( ) FROM studenten GROUP BY uni, fach ; 7/12 GROUP BY HAVING Sichten

HAVING Allgemeines WHERE wird vor der Gruppierung ausgeführt, HAVING dannach. Beispiel 1 Wie viele Stundenten sind je Uni mindestens im 3. Semester? SELECT uni, COUNT ( ) FROM studenten WHERE sem >= 3 GROUP BY uni ; Beispiel 2 Welche Unis haben mehr als 2 Studenten? SELECT uni FROM studenten GROUP BY uni HAVING COUNT ( ) > 2; 8/12 GROUP BY HAVING Sichten

HAVING Allgemeines WHERE wird vor der Gruppierung ausgeführt, HAVING dannach. Beispiel 1 Wie viele Stundenten sind je Uni mindestens im 3. Semester? SELECT uni, COUNT ( ) FROM studenten WHERE sem >= 3 GROUP BY uni ; Beispiel 2 Welche Unis haben mehr als 2 Studenten? SELECT uni FROM studenten GROUP BY uni HAVING COUNT ( ) > 2; 8/12 GROUP BY HAVING Sichten

HAVING Allgemeines WHERE wird vor der Gruppierung ausgeführt, HAVING dannach. Beispiel 1 Wie viele Stundenten sind je Uni mindestens im 3. Semester? SELECT uni, COUNT ( ) FROM studenten WHERE sem >= 3 GROUP BY uni ; Beispiel 2 Welche Unis haben mehr als 2 Studenten? SELECT uni FROM studenten GROUP BY uni HAVING COUNT ( ) > 2; 8/12 GROUP BY HAVING Sichten

Beispiel 3 Welche Unis haben mehr als 2 Studenten, die im 3. oder einem höheren Semester sind? SELECT uni FROM studenten WHERE sem >= 3 GROUP BY uni HAVING COUNT ( ) > 2; 9/12 GROUP BY HAVING Sichten

Sichten Allgemein Virtuelle Relation Anfrage wird zwischengespeichert, Ergebnis aber jedes mal aktuell berechnet. Zugriff wie auf jede andere Relation SQL CREATE VIEW meinview AS SELECT... ; SELECT FROM meinview ; 10/12 GROUP BY HAVING Sichten

WITH WITH Vllt. möchte man eine Sicht nicht speichern (oder darf es nicht). Alternativ kann man hier WITH verwenden WITH meinedaten AS ( SELECT... ) SELECT... FROM meinedaten,... ; 11/12 GROUP BY HAVING Sichten

GROUP BY, HAVING und Sichten Tutorübungen 09/33 zu Grundlagen: Datenbanken (WS 14/15) Michael Schwarz Technische Universität München 11.11 / 12.11.2014 12/12 GROUP BY HAVING Sichten