Einstieg in SQL:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Rheinwerk Computing
2022
|
Ausgabe: | 3., aktualisierte Auflage |
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | Auf dem Buchdeckel: Für Ausbildung und Beruf; Datenbanken und SQL - ganz ohne Vorkenntnisse einsteigen; SQL-Abfragen, Datenmodellierung, Tipps aus der Praxis; Übungen und Musterlösungen für alle Datenbanksysteme Hier auch später erschienene, unveränderte Nachdrucke |
Beschreibung: | 616 Seiten Illustrationen, Diagramme |
ISBN: | 9783836288156 383628815X |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV048196505 | ||
003 | DE-604 | ||
005 | 20240516 | ||
007 | t | ||
008 | 220503s2022 gw a||| |||| 00||| ger d | ||
015 | |a 22,N07 |2 dnb | ||
016 | 7 | |a 1251574068 |2 DE-101 | |
020 | |a 9783836288156 |c Hb.: EUR 29.90 (DE), EUR 30.80 (AT), CHF 38.90 (freier Preis) |9 978-3-8362-8815-6 | ||
020 | |a 383628815X |9 3-8362-8815-X | ||
024 | 3 | |a 9783836288156 | |
035 | |a (OCoLC)1317695997 | ||
035 | |a (DE-599)DNB1251574068 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-634 |a DE-29T |a DE-B768 |a DE-19 |a DE-739 |a DE-Aug4 |a DE-859 |a DE-1050 |a DE-1043 |a DE-523 |a DE-1051 |a DE-706 |a DE-20 |a DE-573 |a DE-473 |a DE-M347 |a DE-29 | ||
084 | |a ST 271 |0 (DE-625)143639: |2 rvk | ||
084 | |a ST 271 |0 (DE-625)143639: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Laube, Michael |e Verfasser |0 (DE-588)1141820382 |4 aut | |
245 | 1 | 0 | |a Einstieg in SQL |c Michael Laube |
250 | |a 3., aktualisierte Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk Computing |c 2022 | |
300 | |a 616 Seiten |b Illustrationen, Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Auf dem Buchdeckel: Für Ausbildung und Beruf; Datenbanken und SQL - ganz ohne Vorkenntnisse einsteigen; SQL-Abfragen, Datenmodellierung, Tipps aus der Praxis; Übungen und Musterlösungen für alle Datenbanksysteme | ||
500 | |a Hier auch später erschienene, unveränderte Nachdrucke | ||
650 | 0 | 7 | |a MySQL 8.0.28 |0 (DE-588)1263589847 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a SQL |0 (DE-588)4134010-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Datenmodell |0 (DE-588)4192516-6 |2 gnd |9 rswk-swf |
653 | |a SQL-Injection | ||
653 | |a MySQL | ||
653 | |a PostgreSQL | ||
653 | |a MS SQL | ||
653 | |a MariaDB | ||
653 | |a Datenmodelle | ||
653 | |a Access | ||
653 | |a Tabelle | ||
653 | |a Relation | ||
653 | |a Referenzielle Integrität | ||
653 | |a Datenbanken entwickeln | ||
653 | |a Hand-Buch lernen Grundlagen Kurse Tipps Workshops Tutorials Wissen Training Einführung | ||
653 | |a Anfänger | ||
653 | |a Programmierung | ||
653 | |a Skalar-Funktion | ||
689 | 0 | 0 | |a Datenmodell |0 (DE-588)4192516-6 |D s |
689 | 0 | 1 | |a SQL |0 (DE-588)4134010-3 |D s |
689 | 0 | 2 | |a MySQL 8.0.28 |0 (DE-588)1263589847 |D s |
689 | 0 | |5 DE-604 | |
710 | 2 | |a Rheinwerk Verlag |0 (DE-588)1081738405 |4 pbl | |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=84f0536f99ab4b92bc66e855f78937cc&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m Digitalisierung UB Passau - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033577612&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a vlb |d 20220211 |q DE-101 |u https://d-nb.info/provenance/plan#vlb |
Datensatz im Suchindex
_version_ | 1805071247757803520 |
---|---|
adam_text |
Inhalt Inhalt Materialien zum Buch. 17 1 Grundlagen kennenlernen und verstehen 19 1.1 Die Tabelle als zentrales Element. 1.1.1 19 Tabellen und ihre Struktur. 20 1.2 Eine kleine Historie von SQL. 21 1.3 Datenbanksysteme. 22 1.4 SQL-ein Standard und seine Umsetzung. 23 1.5 Zu diesem Buch. 24 1.6 MySQL unter Windows installieren. 26 1.7 Die MySQL-Übungsdatenbank anlegen. 34 1.8 Eine erste Abfrage an die Datenbank senden. 38 1.9 Kommentarfunktion . 41 2 2.1 2.2 1.9.1 Kommentare in der Praxis nutzen . 42 1.9.2 Übungen . 43 Los geht’s: Die Grundfunktionen der Tabellenabfrage (SELECT) 4s Mit einer SELECT-Anweisung Tabellen
abfragen. 45 2.1.1 Die Tabelle »mitarbeiter«. 45 2.1.2 Wie frage ich eine Tabelle ab? (SELECT. FROM). 45 2.1.3 Spalten einer Tabelle abfragen . 46 2.1.4 Alle Spalten einerTabelle abfragen. 47 2.1.5 Übungen . 48 Zeilen in einer Abfrage mit WHERE filtern . 49 2.2.1 50 SQL-Vergleichsoperatoren . 2.2.2 Spaltenwerte auf Gleichheit prüfen. 53 2.2.3 Spaltenwerte auf Ungleichheit prüfen. 56 2.2.4 Spaltenwerte auf kleiner als/gleich prüfen . 58 2.2.5 Spaltenwerte auf größer als/gleich prüfen . 60 5
Inhalt Inhalt 2.3 2.2.6 Bedingungen mit dem NOT-Operator verneinen. 62 2.7.3 Spalten und Konstanten einen Alias zuordnen. 126 2.2.7 Spaltenwerte auf ein Intervall prüfen (BETWEEN). 64 2.7.4 Übungen . 128 2.2.8 Spaltenwerte auf ein Muster prüfen (LIKE). 68 2.2.9 Spaltenwerte auf Mengenzugehörigkeit prüfen . 74 2.2.10 Fehlende Spaltenwerte (NULL-Value). 77 2.2.11 Spaltenwerte auf NULL prüfen. 80 2.2.12 Spaltenwerte auf »ist nicht NULL« prüfen . 81 2.2.13 Spaltenwerte mit Spaltenwerten vergleichen. 82 2.2.14 Übungen . 83 Filterbedingungen mit AND (NOT) und OR (NOT) logisch verknüpfen. 88 Der logische Verknüpfungsoperator AND. 89 2.3.1 Zeilen einfügen (INSERT), ändern (UPDATE) und löschen (DELETE, TRUNCATE)ізз 3.1 Zeilen mit einer INSERT-Anweisung einfügen. 133 90 3.1.1 Spaltenwerte mit expliziter Spaltenangabe einfügen. 134 92 3.1.2 Spaltenwerte ohne Spaltenangabe einfügen . 138 3.1.3 Übungen
. 141 2.3.4 SQL-Bedingungen mit dem logischen OR-Operator verknüpfen. 94 2.3.5 Der logische Verknüpfungsoperator AND NOT. 95 3.2 SQL-Bedingungen mit dem AND NOT-Operator logisch Zeilen mit einer UPDATE-Anweisung ändern. 143 Einen Spaltenwert einer Zeile ändern. 144 3.2.1 verknüpfen. 96 3.2.2 Mehrere Spaltenwerte einer Zeile gleichzeitig ändern. 145 Der logische Verknüpfungsoperator OR NOT. 97 3.2.3 Spaltenwerte einer Spalte für mehrere Zeilen gleichzeitig ändern . 146 3.2.4 Allen Spaltenwerten einer Spalte einen Wert zuordnen. 147 SQL-Bedingungen mit dem logischen OR NOT-Operator verknüpfen. 98 Logische Verknüpfungsoperatoren kombiniert anwenden . Übungen . 99 104 Ergebniszeilen einer SELECT-Anweisung einschränken. 106 Ergebniszeilen mit FETCH, LIMIT und TOP eingrenzen. Übungen . 107 108 Datensätze sortiert abfragen
. 2.4.1 2.4.2 6 l3i Übungen . SQL-Bedingungen mit dem logischen AND-Operator verknüpfen . 2.3.9 2.3.10 2.7 2.8.1 Der logische Verknüpfungsoperator OR . 2.3.8 2.6 129 2.3.2 2.3.7 2.5 3 Gleiche Ergebniszeilen ausschließen (DISTINCT) 2.3.3 2.3.6 2.4 2.8 3.2.5 Spaltenwerten mit einer UPDATE-Anweisung einen . 149 3.2.6 Schlüsselwertspalten mit UPDATE einen neuen Wert zuweisen. 150 3.2.7 Übungen . i52 Zeilen mit einer DELETE-Anweisung löschen. 154 NULL-Wert zuweisen 3.3 3.3.1 Eine Zeile einer Tabelle löschen . 154 109 3.3.2 Mehrere Zeilen einerTabelle gleichzeitig löschen. 155 2.5.1 Aufsteigende Sortierung gemäß einer Spaltenangabe . 111 3.3.3 Alle Zeilen einerTabelle gleichzeitig löschen. 156 2.5.2 Auf-und absteigende Sortierung mehrerer Spalten . 113 3.3.4 Übungen . 157 Alle Zeilen einer Tabelle mit einer TRUNCATE-Anweisung löschen. 158 158 2.5.3 Nach numerischen Spaltenwerten sortieren
. 114 2.5.4 Nach Datumswerten sortieren. 115 3.4.1 Die TRUNCATE-Anweisung anwenden. 2.5.5 Nichtdefinierte Werte in einer Sortierung beachten. 115 3.4.2 Übungen zum Thema »Alle Zeilen einerTabelle mit einer 2.5.6 ORDER BY mit einer WHERE-Klausel verwenden . 116 2.5.7 Übungen . 119 Konstanten in die Spaltenauswahlliste aufnehmen. 121 2.6.1 Abfrage eines konstanten Textes. 122 2.6.2 2.6.3 Konstanten und Spalten einer Tabelle gleichzeitig abfragen. Übungen . 123 124 Spalten einen Alias zuordnen. 125 2.7.1 Spalten in einer Abfrage mit einem Alias versehen. 125 2.7.2 Ausgewählten Spalten einer Abfrage einen Alias zuordnen. 126 3.4 TRUNCATE-Anweisung löschen«. 160 4 Tabellen anlegen (CREATE TABLE) ібі 4.1 Datentypen. 161 4.1.1 Datentypen für ganze Zahlen. 165 4.1.2 Datentypen für
rationale Zahlen. 166
Inhalt Inhalt 4.1.3 Datentypen für Datum und Zeit. 167 Die Schnittmenge von Ergebnistabellen bilden (INTERSECT) . 239 4.1.4 Datentypen für Zeichen ketten . 169 5.3.1 Schnittmengen von Ergebnistabellen. 239 4.1.5 Übungen . 172 5.3.2 Übungen . 241 4.2 Datentypen umwandeln. 174 Eine Differenzmenge aus Ergebnistabellen bilden (EXCEPT). 243 4.3 Explizite und implizite Typkonvertierung. 175 5.4.1 Differenzmenge von Ergebnismengen bilden . 244 4.3.1 Explizite Typkonvertierung. 176 5.4.2 Übungen . 245 4.3.2 Implizite Typkonvertierung. 177 4.3.3 Übungen . 181 verwenden. Einfache Tabellen mit CREATE TABLE
erstellen. 182 5.5.1 Vor einer Vereinigungsoperation mit UNION filtern. 247 5.5.2 Übung. 248 Vereinigungsmengen in Kombination mit einer ORDER BY-Klausel. 249 Übungen . 250 4.4 4.4.1 Zielstruktur der Tabelle. 182 4.4.2 Tabellen mit der CREATE TABLE-Anweisung anlegen. 183 4.4.3 Tabellen mit einer DROP-Anweisung löschen . 186 4.4.4 Eine Tabelle mit einem Primärschlüssel ausstatten. 187 4.4.5 4.5 4.6 5.3 5.4 5.5 5.6 Mengenoperationen in Kombination mit einer WHERE-Klausel 5.6.1 247 Automatisch hochzählende numerische Primärschlüsselspalten festlegen . 189 4.4.6 Reservierte Schlüsselwörter. 192 4.4.7 Übungen . 193 Spalten Einschränkungen (CONSTRAINTS) zuordnen. 194 4.5.1 Spalten als Pflichtfelder (NOT NULL) definieren . 194 4.5.2 Spalten mit einer UNIQUE-Einschränkung versehen . 197 4.5.3 Standardwerte mit DEFAULT für
Spalten festlegen. 200 4.5.4 Bedingungen mit einer CHECK-Einschränkung für Spalten festlegen 4.5.5 Übungen . 201 204 6 Benutzer, Rollen und ihre Berechtigungen 253 6.1 Benutzer anlegen (CREATE USER). 254 6.1.1 Nutzer in einer MySQL-oder MariaDB-Datenbank anlegen. 254 6.1.2 Nutzer in einer PostgreSQL-Datenbank anlegen . 254 6.1.3 Nutzer in einer MS SQL Server-Datenbank anlegen. 255 6.2 Benutzer entfernen. 255 6.3 Eine Verbindung für einen Datenbankbenutzer erstellen . 256 Verbindung für eine MySQL-Datenbank einrichten. 256 Spalten auf Tabellenebene Einschränkungen (CONSTRAINT) zuordnen . 208 6.3.1 Einen Primärschlüssel auf Tabellenebene festlegen . 209 6.3.2 Verbindung für eine MariaDB-Datenbank herstellen. 257 213 6.3.3 Verbindung für eine PostgreSQL-Datenbank herstellen . 258 6.3.4 Verbindung für eine MS SQL Server-Datenbank herstellen . 261 Berechtigungen verwalten. 261 4.6.1 4.6.2 Eine UNIQUE-Einschränkung auf Tabellenebene festlegen. 4.6.3 Eine CHECK-Einschränkung auf Tabellenebene
festlegen. 216 4.6.4 Übungen . 218 6.4 6.4.1 Berechtigungen vergeben (GRANT). 262 6.4.2 Berechtigungen entziehen (REVOKE). 263 Mit Rollen Berechtigungen zuordnen. 264 5 Mengenoperationen anwenden 223 6.5.1 Rollen anlegen (CREATE ROLE). 264 5.1 Mengenoperationen auf Ergebnistabellen anwenden. 223 6.5.2 Rollen mit Berechtigungen ausstatten. 264 Rollen Datenbanknutzern zuordnen. 265 5.2 8 6.5 5.1.1 Eine Vereinigungsmenge aus zwei Mengen bilden . 223 6.5.3 5.1.2 Eine Schnittmenge bilden. 227 6.5.4 Rollen Berechtigungen entziehen. 265 5.1.3 Eine Differenzmenge bilden. 229 6.5.5 Rollen entfernen. 266 Eine Vereinigungsmenge bilden (UNION). 230 6.6 Übungen. 267 5.2.1 Vereinigungsmengen
von Ergebnistabellen bilden. 231 6.7 Lösungen zu den Übungen . 268 5.2.2 Übungen . 237 9
Inhalt Inhalt 7 Datenbanken modellieren 27i 7.1 Anforderungskatalog. 271 7.2 Entitäten identifizieren und modellhaft abbilden. 272 7.2.1 Entitäten identifizieren. 272 7.2.2 Informationen zu den Entitäten ermitteln . 273 7.3 7.2.3 Schlüsselattribute für Entitäten identifizieren. 273 7.2.4 Die Wertebereiche von Attributen erkennen. 276 7.2.5 Zwischen Pflichtattributen und optionalen Attributen Eine neue Datenbank mit Unicode-Zeichensatz anlegen (MS SQL Server). 314 315 9.1.4 Tabellen mit Beziehungen zu anderen Tabellen erstellen 315 9.2.1 Die Ausbildungsdatenbank im Modell erfassen . 315 9.2.2 9.2.3 Tabellen erstellen, die in einer l:l-Beziehung stehen . 316 Tabellen erstellen, die in einer l:n-Beziehung stehen . 318 9.2.4 Tabellen erstellen, die in einer m:n-Beziehung stehen. 319 9.2.5 Tabellen erstellen, die zu sich selbst in Beziehung stehen. 321 Beziehungen zwischen Entitäten festlegen. 279 Übung . 322 7.3.1 Beziehungen im
Entity-Relationship-Modell definieren. 280 Die referenzielle Integrität verstehen. 324 7.3.2 Kardinalitäten von Beziehungen erkennen . 281 Eine besondere l-.n-Beziehung-oder Entitäten, die auf 288 Starke und schwache Entitäten unterscheiden. 290 7.4 Datenmodelle in der UML-Notation darstellen. 293 7.5 Übungen. 297 7.3.4 8 Datenmodelle optimieren (Normalisierung) 299 8.1 Redundanzen erkennen. 299 8.1.1 Was ist eine Redundanz? . 299 8.1.2 Was bedeutet Normalisierung?. 301 8.2 Die 1. Normalform anwenden. 302 8.3 Die 2. Normalform anwenden. 304 8.4 Die 3. Normalform anwenden. 306 8.5 Denormalisierung. 308 8.6 Übungen. 310 Datenmodelle in Tabellen überführen Die
Ausbildungsdatenbank anlegen. 9.1.1 зіз 313 Eine neue Datenbank mit UTF-8-Zeichensatz anlegen (MySQL, MariaDB). 10 314 278 sich selbst verweisen . 9.1 Eine neue Datenbank mit UTF-8-Zeichensatz anlegen (PostgreSQL) unterscheiden . 7.3.3 9 9.1.2 9.1.3 10 Operationen auf Tabellen in Beziehungen anwenden 10.1 ззі Zeilen in Tabellen einfügen, die in Beziehung zueinander stehen. 331 10,1.1 Zeilen in die Tabelle »auszubildender« einfügen. 331 10.1.2 Zeilen in die Tabelle »ausbildungsberuf« einfügen. 332 10.1.3 Zeilen in die Tabelle »lehrfach« einfügen. 332 10.1.4 Zeilen in die Tabelle »adresse« (inklusive der Beziehungen) 10.1.5 10.1.6 10.2 einfügen. 333 Zeilen in die Tabelle »ausbildungsvertrag« (inklusive der Beziehungen) einfügen . 334 Zeilen in die Tabelle »beruflehrfach« (inklusive der Beziehungen) einfügen . 334 10.1.7 Zeilen in die Tabelle »mitarbeiterausbildungsbetrieb« (inklusive der Beziehungen) einfügen . 335 10.1.8 Übungen
. 337 Zeilen aus Tabellen, die in Beziehung stehen, mit JOIN verbunden abfragen. 341 10.2.1 Zeilen mit einem INNER JOIN verbinden. 343 10.2.2 Zeilen mit einem LEFT OUTER JOIN verbinden. 345 10.2.3 Zeilen mit einem RIGHT OUTER JOIN verbinden. 348 10.2.4 Zeilen mit einem FULL OUTER JOIN verbinden . 351 10.2.5 Einen FULL OUTER JOIN unter MySQL oder MariaDB nachbilden. 353 10.2.6 Zeilen mit einem CROSS JOIN verbinden. 358 314 11
г Inhalt 10.3 10.2.7 Zeilen von drei Tabellen mit einem INNER JOIN verbinden. 360 Ú 12.2.6 Einer Spalte einen Standardwert (DEFAULT VALUE) zuordnen. 424 10.2.8 10.2.9 Spalten in einem JOIN über Tabellennamen referenzieren. Spalten in einem JOIN über Tabellenaliasse referenzieren. 362 365 0 || 12.2.7 Einer Spalte eine UNIQUE-Einschränkung zuordnen. 427 12.2.8 Eine Spalte mit einer CHECK-Einschränkung versehen . 428 10.2.10 Zeilen mit einem Self Join verbinden. 367 И Spalten hinzufügen und entfernen . 430 10.2.11 Zeilen mit einem INNER JOIN ohne Schlüsselvergleich verbinden . 10.2.12 Übungen . 369 371 12.3.1 EinerTabelle eine Spalte hinzufügen. 430 12.3.2 Eine Spalte aus einerTabelle entfernen. 431 Beziehungen (Schlüsselbeziehungen) ändern. 379 12.4 Beziehungen zwischen Tabellen herstellen und entfernen. 432 10.3.1 Beziehungen aus Zeilen aus einer Kindtabelle ändern. 380 10.3.2 Beziehungen aus Zeilen einer Elterntabelle ändern 12.5 Übungen. 435 (ON UPDATE
CASCADE). 10.4 386 Beziehungen (Schlüsselbeziehungen) aufheben oder löschen. 391 10.4.1 Zeilen aus Kindtabellen auf NULL setzen . 391 10.4.2 Zeilen aus Kindtabellen löschen . 13 Mit SQL rechnen 44з 393 13.1 Spaltenwerte addieren. 444 Zeilen aus Elterntabellen löschen . 395 13.2 Spaltenwerte subtrahieren. 446 10.4.4 Übungen . 398 13.3 Spaltenwerte multiplizieren. 447 13.4 Spaltenwerte dividieren . 447 13.5 Den Restwert einer Division von Spaltenwerten berechnen. 448 13.6 Nach dem Ergebnis einer Berechnung filtern. 449 404 13.7 Nach dem Ergebnis einer Berechnung sortieren lassen . 450 13.8 Übungen. 451 11 Transaktionen 403 11.1 Forderungen an relationale Datenbanksysteme. 11.2 Transaktionen
verstehen. 406 11.2.1 Allgemeiner Aufbau einer Transaktion . 406 11.2.2 Einen atomaren Datenzustand mit Transaktionen sicherstellen. 407 11.2.3 Transaktionen mit ROLLBACK rückgängig machen. 408 11.2.4 Operationen mit Transaktionen isoliert ausführen. 411 Übungen. 413 12 Tabellenstrukturen verändern 12.1 12.2 12 12.3 382 10.3.3 Übungen . 10.4.3 11.3 Inhalt Eine Tabelle umbenennen. Spalten einer Tabelle ändern. 14 Skalarfunktionen anwenden 455 14.1 Funktionen für Textwerte. 456 14.1.1 Zeichenkette in Kleinbuchstaben umwandeln (LOWER). 457 14.1.2 Spaltenwerte in Großbuchstaben umwandeln (UPPER) . 457 14.1.3 Spaltenwerte von führenden und endenden Leerzeichen 415 415 417 12.2.1 Eine Spalte umbenennen . 417 12.2.2 Den Datentyp einer Spalte ändern . 419 14.2 befreien (TRIM)
. 458 14.1.4 Text aus Spaltenwerten extrahieren(SUBSTRING). 463 14.1.5 Textspaltenwerte verkettet ausgeben . 465 14.1.6 Übungen . 467 Funktionen für Zahlenwerte. 470 Die Länge einer Zeichenkette ermitteln (CHAR_LENGTH, LEN). 471 Die Startposition einer Zeichenkette in einem Textwert ermitteln 12.2.3 Eine Spalte als Primärschlüsselspalte definieren. 421 14.2.1 12.2.4 Einer Spalte eine NOT NULL-Einschränkung zuordnen. 422 14.2.2 12.2.5 Einer Spalte eine NULL-Einschränkung zuordnen. 423 (POSITION, CHARINDEX) . 472
Inhalt Inhalt 14.2.3 Potenzen berechnen (POWER). 473 14.2.4 Eine Quadratwurzel berechnen (SQRT). 474 Übungen . 475 Verschachtelte Funktionsaufrufe. 476 14.3.1 480 14.2.5 14.3 Übungen . 17 Spaltenwerte gruppieren (GROUP BY)_ 17.1 17.2 522 Die Aggregatfunktion COUNT anwenden . 527 17.1.1 Übungen . Die Aggregatfunktion SUM anwenden. 17.2.1 17.3 15 Bedingungslogik 48i 15.1 Die CASE-Klausel. 481 15.2 Bedingungslogik in einer Spaltenauswahlliste einer 482 15.3 Bedingungslogik in einer ORDER BY-Klausel anwenden . 484 15.4 Übungen. 486 533 Übungen . 537 Nach aggregierten Werten einer Gruppierung filtern (HAVING). 537 Übungen . 539 Nach zwei oder mehr Spalten
gruppieren. 540 Übungen . 542 17.6.1 17.7 Übungen . NULL-Werte berücksichtigen. 17.5.1 17.6 Übungen . Die Aggregatfunktion MAX anwenden . 17.4.1 17.5 SELECT-Anweisung anwenden. Übungen . Die Aggregatfunktion AVG anwenden . 17.3.1 17.4 521 17.7.1 16 Mit Zeit und Datum arbeiten 16.1 Datumsformate. 490 16.2 Skalarfunktionen für Zeit-und Datumsangaben in SQL nutzen. 490 16.2.1 491 492 16.2.3 Übungen . 493 Zeit- und Datumsangaben formatieren . 493 Datumsformatierung unter PostgreSQL (TO_CHAR). 498 16.3.3 16.3.4 Datumsformatierung unter MS SQL Server (FORMAT). Übungen . 503 506 Datumsangaben
extrahieren (EXTRACT) . 508 Übungen . 512 Mit Datumsangaben rechnen. 513 16.5.1 Mit Datumswerten rechnen unter MySQL und MariaDB. 514 16.5.2 Mit Datumswerten rechnen unter PostgreSQL. 515 16.5.3 Mit Datumswerten rechnen unter MS SQLServer. Übungen . 517 16.5.4 14 18.2 494 16.3.2 16.4.1 16.5 18.1 16.2.2 Ergebnislisten mit einem Berichtsdatum versehen. 16.3.1 Datumsformatierung unter MySQL und MariaDB (DATE-FORMAT) 16.4 545 Datum, Zeit und Zeitstempel vom Datenbankserver ermitteln lassen. 16.3 18 Mächtiges Werkzeug: Die Unterabfragen (Subqueries) 18.3 18.4 Unterabfragen, die in Korrelation zueinander stehen. . . 546 Unterabfragen, die nicht in Korrelation zueinander stehen. . . 552 550 557 Vergleichsoperatoren auf Unterabfragen mit ANY, SOME und ALL . 558 . 561 . 563 Übungen . . 566 Auf die Existenz von Ergebniszeilen aus Unterabfragen prüfen ÍEXISTSÍ 18.4.1 519 15
Inhalt 19 Views: Abfragen in virtuellen Tabellen speichern 567 Einfache Views anlegen. 568 Übungen . 571 19.2 Views und ORDER BY. 573 19.1 19.1.1 Übungen . 575 INSERT, UPDATE und DELETE auf Views anwenden. 576 19.3.1 Eine INSERT-Anweisung auf Views an wenden. 576 19.3.2 Eine UPDATE-Anweisung auf Views anwenden. 580 19.3.3 Eine DELETE-Anweisung auf Views anwenden. 582 19.3.4 Views, auf die keine INSERT-, DELETE- oder UPDATE-Anweisung 19.2.1 19.3 angewendet werden kann. Übungen . 585 Views entfernen oder ersetzen. 587 Übungen . 588 19.3.5 19.4 583 19.4.1 20 Abfragen mit einem Index optimieren 591 20.1 Einführung. 591 20.2 Syntax: Index erstellen. 594
20.3 Eine Tabelle mit vielen Zeilen generieren. 595 20.4 Einen Index für eine Tabelle anlegen. 596 20.5 Einen Index über mehrere Spalten anlegen. 598 20.6 Den Index einer Tabelle löschen . 601 20.7 Fremdschlüsselspalten indexieren. 601 20.8 Übungen. 605 Index. 609 16 |
adam_txt |
Inhalt Inhalt Materialien zum Buch. 17 1 Grundlagen kennenlernen und verstehen 19 1.1 Die Tabelle als zentrales Element. 1.1.1 19 Tabellen und ihre Struktur. 20 1.2 Eine kleine Historie von SQL. 21 1.3 Datenbanksysteme. 22 1.4 SQL-ein Standard und seine Umsetzung. 23 1.5 Zu diesem Buch. 24 1.6 MySQL unter Windows installieren. 26 1.7 Die MySQL-Übungsdatenbank anlegen. 34 1.8 Eine erste Abfrage an die Datenbank senden. 38 1.9 Kommentarfunktion . 41 2 2.1 2.2 1.9.1 Kommentare in der Praxis nutzen . 42 1.9.2 Übungen . 43 Los geht’s: Die Grundfunktionen der Tabellenabfrage (SELECT) 4s Mit einer SELECT-Anweisung Tabellen
abfragen. 45 2.1.1 Die Tabelle »mitarbeiter«. 45 2.1.2 Wie frage ich eine Tabelle ab? (SELECT. FROM). 45 2.1.3 Spalten einer Tabelle abfragen . 46 2.1.4 Alle Spalten einerTabelle abfragen. 47 2.1.5 Übungen . 48 Zeilen in einer Abfrage mit WHERE filtern . 49 2.2.1 50 SQL-Vergleichsoperatoren . 2.2.2 Spaltenwerte auf Gleichheit prüfen. 53 2.2.3 Spaltenwerte auf Ungleichheit prüfen. 56 2.2.4 Spaltenwerte auf kleiner als/gleich prüfen . 58 2.2.5 Spaltenwerte auf größer als/gleich prüfen . 60 5
Inhalt Inhalt 2.3 2.2.6 Bedingungen mit dem NOT-Operator verneinen. 62 2.7.3 Spalten und Konstanten einen Alias zuordnen. 126 2.2.7 Spaltenwerte auf ein Intervall prüfen (BETWEEN). 64 2.7.4 Übungen . 128 2.2.8 Spaltenwerte auf ein Muster prüfen (LIKE). 68 2.2.9 Spaltenwerte auf Mengenzugehörigkeit prüfen . 74 2.2.10 Fehlende Spaltenwerte (NULL-Value). 77 2.2.11 Spaltenwerte auf NULL prüfen. 80 2.2.12 Spaltenwerte auf »ist nicht NULL« prüfen . 81 2.2.13 Spaltenwerte mit Spaltenwerten vergleichen. 82 2.2.14 Übungen . 83 Filterbedingungen mit AND (NOT) und OR (NOT) logisch verknüpfen. 88 Der logische Verknüpfungsoperator AND. 89 2.3.1 Zeilen einfügen (INSERT), ändern (UPDATE) und löschen (DELETE, TRUNCATE)ізз 3.1 Zeilen mit einer INSERT-Anweisung einfügen. 133 90 3.1.1 Spaltenwerte mit expliziter Spaltenangabe einfügen. 134 92 3.1.2 Spaltenwerte ohne Spaltenangabe einfügen . 138 3.1.3 Übungen
. 141 2.3.4 SQL-Bedingungen mit dem logischen OR-Operator verknüpfen. 94 2.3.5 Der logische Verknüpfungsoperator AND NOT. 95 3.2 SQL-Bedingungen mit dem AND NOT-Operator logisch Zeilen mit einer UPDATE-Anweisung ändern. 143 Einen Spaltenwert einer Zeile ändern. 144 3.2.1 verknüpfen. 96 3.2.2 Mehrere Spaltenwerte einer Zeile gleichzeitig ändern. 145 Der logische Verknüpfungsoperator OR NOT. 97 3.2.3 Spaltenwerte einer Spalte für mehrere Zeilen gleichzeitig ändern . 146 3.2.4 Allen Spaltenwerten einer Spalte einen Wert zuordnen. 147 SQL-Bedingungen mit dem logischen OR NOT-Operator verknüpfen. 98 Logische Verknüpfungsoperatoren kombiniert anwenden . Übungen . 99 104 Ergebniszeilen einer SELECT-Anweisung einschränken. 106 Ergebniszeilen mit FETCH, LIMIT und TOP eingrenzen. Übungen . 107 108 Datensätze sortiert abfragen
. 2.4.1 2.4.2 6 l3i Übungen . SQL-Bedingungen mit dem logischen AND-Operator verknüpfen . 2.3.9 2.3.10 2.7 2.8.1 Der logische Verknüpfungsoperator OR . 2.3.8 2.6 129 2.3.2 2.3.7 2.5 3 Gleiche Ergebniszeilen ausschließen (DISTINCT) 2.3.3 2.3.6 2.4 2.8 3.2.5 Spaltenwerten mit einer UPDATE-Anweisung einen . 149 3.2.6 Schlüsselwertspalten mit UPDATE einen neuen Wert zuweisen. 150 3.2.7 Übungen . i52 Zeilen mit einer DELETE-Anweisung löschen. 154 NULL-Wert zuweisen 3.3 3.3.1 Eine Zeile einer Tabelle löschen . 154 109 3.3.2 Mehrere Zeilen einerTabelle gleichzeitig löschen. 155 2.5.1 Aufsteigende Sortierung gemäß einer Spaltenangabe . 111 3.3.3 Alle Zeilen einerTabelle gleichzeitig löschen. 156 2.5.2 Auf-und absteigende Sortierung mehrerer Spalten . 113 3.3.4 Übungen . 157 Alle Zeilen einer Tabelle mit einer TRUNCATE-Anweisung löschen. 158 158 2.5.3 Nach numerischen Spaltenwerten sortieren
. 114 2.5.4 Nach Datumswerten sortieren. 115 3.4.1 Die TRUNCATE-Anweisung anwenden. 2.5.5 Nichtdefinierte Werte in einer Sortierung beachten. 115 3.4.2 Übungen zum Thema »Alle Zeilen einerTabelle mit einer 2.5.6 ORDER BY mit einer WHERE-Klausel verwenden . 116 2.5.7 Übungen . 119 Konstanten in die Spaltenauswahlliste aufnehmen. 121 2.6.1 Abfrage eines konstanten Textes. 122 2.6.2 2.6.3 Konstanten und Spalten einer Tabelle gleichzeitig abfragen. Übungen . 123 124 Spalten einen Alias zuordnen. 125 2.7.1 Spalten in einer Abfrage mit einem Alias versehen. 125 2.7.2 Ausgewählten Spalten einer Abfrage einen Alias zuordnen. 126 3.4 TRUNCATE-Anweisung löschen«. 160 4 Tabellen anlegen (CREATE TABLE) ібі 4.1 Datentypen. 161 4.1.1 Datentypen für ganze Zahlen. 165 4.1.2 Datentypen für
rationale Zahlen. 166
Inhalt Inhalt 4.1.3 Datentypen für Datum und Zeit. 167 Die Schnittmenge von Ergebnistabellen bilden (INTERSECT) . 239 4.1.4 Datentypen für Zeichen ketten . 169 5.3.1 Schnittmengen von Ergebnistabellen. 239 4.1.5 Übungen . 172 5.3.2 Übungen . 241 4.2 Datentypen umwandeln. 174 Eine Differenzmenge aus Ergebnistabellen bilden (EXCEPT). 243 4.3 Explizite und implizite Typkonvertierung. 175 5.4.1 Differenzmenge von Ergebnismengen bilden . 244 4.3.1 Explizite Typkonvertierung. 176 5.4.2 Übungen . 245 4.3.2 Implizite Typkonvertierung. 177 4.3.3 Übungen . 181 verwenden. Einfache Tabellen mit CREATE TABLE
erstellen. 182 5.5.1 Vor einer Vereinigungsoperation mit UNION filtern. 247 5.5.2 Übung. 248 Vereinigungsmengen in Kombination mit einer ORDER BY-Klausel. 249 Übungen . 250 4.4 4.4.1 Zielstruktur der Tabelle. 182 4.4.2 Tabellen mit der CREATE TABLE-Anweisung anlegen. 183 4.4.3 Tabellen mit einer DROP-Anweisung löschen . 186 4.4.4 Eine Tabelle mit einem Primärschlüssel ausstatten. 187 4.4.5 4.5 4.6 5.3 5.4 5.5 5.6 Mengenoperationen in Kombination mit einer WHERE-Klausel 5.6.1 247 Automatisch hochzählende numerische Primärschlüsselspalten festlegen . 189 4.4.6 Reservierte Schlüsselwörter. 192 4.4.7 Übungen . 193 Spalten Einschränkungen (CONSTRAINTS) zuordnen. 194 4.5.1 Spalten als Pflichtfelder (NOT NULL) definieren . 194 4.5.2 Spalten mit einer UNIQUE-Einschränkung versehen . 197 4.5.3 Standardwerte mit DEFAULT für
Spalten festlegen. 200 4.5.4 Bedingungen mit einer CHECK-Einschränkung für Spalten festlegen 4.5.5 Übungen . 201 204 6 Benutzer, Rollen und ihre Berechtigungen 253 6.1 Benutzer anlegen (CREATE USER). 254 6.1.1 Nutzer in einer MySQL-oder MariaDB-Datenbank anlegen. 254 6.1.2 Nutzer in einer PostgreSQL-Datenbank anlegen . 254 6.1.3 Nutzer in einer MS SQL Server-Datenbank anlegen. 255 6.2 Benutzer entfernen. 255 6.3 Eine Verbindung für einen Datenbankbenutzer erstellen . 256 Verbindung für eine MySQL-Datenbank einrichten. 256 Spalten auf Tabellenebene Einschränkungen (CONSTRAINT) zuordnen . 208 6.3.1 Einen Primärschlüssel auf Tabellenebene festlegen . 209 6.3.2 Verbindung für eine MariaDB-Datenbank herstellen. 257 213 6.3.3 Verbindung für eine PostgreSQL-Datenbank herstellen . 258 6.3.4 Verbindung für eine MS SQL Server-Datenbank herstellen . 261 Berechtigungen verwalten. 261 4.6.1 4.6.2 Eine UNIQUE-Einschränkung auf Tabellenebene festlegen. 4.6.3 Eine CHECK-Einschränkung auf Tabellenebene
festlegen. 216 4.6.4 Übungen . 218 6.4 6.4.1 Berechtigungen vergeben (GRANT). 262 6.4.2 Berechtigungen entziehen (REVOKE). 263 Mit Rollen Berechtigungen zuordnen. 264 5 Mengenoperationen anwenden 223 6.5.1 Rollen anlegen (CREATE ROLE). 264 5.1 Mengenoperationen auf Ergebnistabellen anwenden. 223 6.5.2 Rollen mit Berechtigungen ausstatten. 264 Rollen Datenbanknutzern zuordnen. 265 5.2 8 6.5 5.1.1 Eine Vereinigungsmenge aus zwei Mengen bilden . 223 6.5.3 5.1.2 Eine Schnittmenge bilden. 227 6.5.4 Rollen Berechtigungen entziehen. 265 5.1.3 Eine Differenzmenge bilden. 229 6.5.5 Rollen entfernen. 266 Eine Vereinigungsmenge bilden (UNION). 230 6.6 Übungen. 267 5.2.1 Vereinigungsmengen
von Ergebnistabellen bilden. 231 6.7 Lösungen zu den Übungen . 268 5.2.2 Übungen . 237 9
Inhalt Inhalt 7 Datenbanken modellieren 27i 7.1 Anforderungskatalog. 271 7.2 Entitäten identifizieren und modellhaft abbilden. 272 7.2.1 Entitäten identifizieren. 272 7.2.2 Informationen zu den Entitäten ermitteln . 273 7.3 7.2.3 Schlüsselattribute für Entitäten identifizieren. 273 7.2.4 Die Wertebereiche von Attributen erkennen. 276 7.2.5 Zwischen Pflichtattributen und optionalen Attributen Eine neue Datenbank mit Unicode-Zeichensatz anlegen (MS SQL Server). 314 315 9.1.4 Tabellen mit Beziehungen zu anderen Tabellen erstellen 315 9.2.1 Die Ausbildungsdatenbank im Modell erfassen . 315 9.2.2 9.2.3 Tabellen erstellen, die in einer l:l-Beziehung stehen . 316 Tabellen erstellen, die in einer l:n-Beziehung stehen . 318 9.2.4 Tabellen erstellen, die in einer m:n-Beziehung stehen. 319 9.2.5 Tabellen erstellen, die zu sich selbst in Beziehung stehen. 321 Beziehungen zwischen Entitäten festlegen. 279 Übung . 322 7.3.1 Beziehungen im
Entity-Relationship-Modell definieren. 280 Die referenzielle Integrität verstehen. 324 7.3.2 Kardinalitäten von Beziehungen erkennen . 281 Eine besondere l-.n-Beziehung-oder Entitäten, die auf 288 Starke und schwache Entitäten unterscheiden. 290 7.4 Datenmodelle in der UML-Notation darstellen. 293 7.5 Übungen. 297 7.3.4 8 Datenmodelle optimieren (Normalisierung) 299 8.1 Redundanzen erkennen. 299 8.1.1 Was ist eine Redundanz? . 299 8.1.2 Was bedeutet Normalisierung?. 301 8.2 Die 1. Normalform anwenden. 302 8.3 Die 2. Normalform anwenden. 304 8.4 Die 3. Normalform anwenden. 306 8.5 Denormalisierung. 308 8.6 Übungen. 310 Datenmodelle in Tabellen überführen Die
Ausbildungsdatenbank anlegen. 9.1.1 зіз 313 Eine neue Datenbank mit UTF-8-Zeichensatz anlegen (MySQL, MariaDB). 10 314 278 sich selbst verweisen . 9.1 Eine neue Datenbank mit UTF-8-Zeichensatz anlegen (PostgreSQL) unterscheiden . 7.3.3 9 9.1.2 9.1.3 10 Operationen auf Tabellen in Beziehungen anwenden 10.1 ззі Zeilen in Tabellen einfügen, die in Beziehung zueinander stehen. 331 10,1.1 Zeilen in die Tabelle »auszubildender« einfügen. 331 10.1.2 Zeilen in die Tabelle »ausbildungsberuf« einfügen. 332 10.1.3 Zeilen in die Tabelle »lehrfach« einfügen. 332 10.1.4 Zeilen in die Tabelle »adresse« (inklusive der Beziehungen) 10.1.5 10.1.6 10.2 einfügen. 333 Zeilen in die Tabelle »ausbildungsvertrag« (inklusive der Beziehungen) einfügen . 334 Zeilen in die Tabelle »beruflehrfach« (inklusive der Beziehungen) einfügen . 334 10.1.7 Zeilen in die Tabelle »mitarbeiterausbildungsbetrieb« (inklusive der Beziehungen) einfügen . 335 10.1.8 Übungen
. 337 Zeilen aus Tabellen, die in Beziehung stehen, mit JOIN verbunden abfragen. 341 10.2.1 Zeilen mit einem INNER JOIN verbinden. 343 10.2.2 Zeilen mit einem LEFT OUTER JOIN verbinden. 345 10.2.3 Zeilen mit einem RIGHT OUTER JOIN verbinden. 348 10.2.4 Zeilen mit einem FULL OUTER JOIN verbinden . 351 10.2.5 Einen FULL OUTER JOIN unter MySQL oder MariaDB nachbilden. 353 10.2.6 Zeilen mit einem CROSS JOIN verbinden. 358 314 11
г Inhalt 10.3 10.2.7 Zeilen von drei Tabellen mit einem INNER JOIN verbinden. 360 Ú 12.2.6 Einer Spalte einen Standardwert (DEFAULT VALUE) zuordnen. 424 10.2.8 10.2.9 Spalten in einem JOIN über Tabellennamen referenzieren. Spalten in einem JOIN über Tabellenaliasse referenzieren. 362 365 0 || 12.2.7 Einer Spalte eine UNIQUE-Einschränkung zuordnen. 427 12.2.8 Eine Spalte mit einer CHECK-Einschränkung versehen . 428 10.2.10 Zeilen mit einem Self Join verbinden. 367 И Spalten hinzufügen und entfernen . 430 10.2.11 Zeilen mit einem INNER JOIN ohne Schlüsselvergleich verbinden . 10.2.12 Übungen . 369 371 12.3.1 EinerTabelle eine Spalte hinzufügen. 430 12.3.2 Eine Spalte aus einerTabelle entfernen. 431 Beziehungen (Schlüsselbeziehungen) ändern. 379 12.4 Beziehungen zwischen Tabellen herstellen und entfernen. 432 10.3.1 Beziehungen aus Zeilen aus einer Kindtabelle ändern. 380 10.3.2 Beziehungen aus Zeilen einer Elterntabelle ändern 12.5 Übungen. 435 (ON UPDATE
CASCADE). 10.4 386 Beziehungen (Schlüsselbeziehungen) aufheben oder löschen. 391 10.4.1 Zeilen aus Kindtabellen auf NULL setzen . 391 10.4.2 Zeilen aus Kindtabellen löschen . 13 Mit SQL rechnen 44з 393 13.1 Spaltenwerte addieren. 444 Zeilen aus Elterntabellen löschen . 395 13.2 Spaltenwerte subtrahieren. 446 10.4.4 Übungen . 398 13.3 Spaltenwerte multiplizieren. 447 13.4 Spaltenwerte dividieren . 447 13.5 Den Restwert einer Division von Spaltenwerten berechnen. 448 13.6 Nach dem Ergebnis einer Berechnung filtern. 449 404 13.7 Nach dem Ergebnis einer Berechnung sortieren lassen . 450 13.8 Übungen. 451 11 Transaktionen 403 11.1 Forderungen an relationale Datenbanksysteme. 11.2 Transaktionen
verstehen. 406 11.2.1 Allgemeiner Aufbau einer Transaktion . 406 11.2.2 Einen atomaren Datenzustand mit Transaktionen sicherstellen. 407 11.2.3 Transaktionen mit ROLLBACK rückgängig machen. 408 11.2.4 Operationen mit Transaktionen isoliert ausführen. 411 Übungen. 413 12 Tabellenstrukturen verändern 12.1 12.2 12 12.3 382 10.3.3 Übungen . 10.4.3 11.3 Inhalt Eine Tabelle umbenennen. Spalten einer Tabelle ändern. 14 Skalarfunktionen anwenden 455 14.1 Funktionen für Textwerte. 456 14.1.1 Zeichenkette in Kleinbuchstaben umwandeln (LOWER). 457 14.1.2 Spaltenwerte in Großbuchstaben umwandeln (UPPER) . 457 14.1.3 Spaltenwerte von führenden und endenden Leerzeichen 415 415 417 12.2.1 Eine Spalte umbenennen . 417 12.2.2 Den Datentyp einer Spalte ändern . 419 14.2 befreien (TRIM)
. 458 14.1.4 Text aus Spaltenwerten extrahieren(SUBSTRING). 463 14.1.5 Textspaltenwerte verkettet ausgeben . 465 14.1.6 Übungen . 467 Funktionen für Zahlenwerte. 470 Die Länge einer Zeichenkette ermitteln (CHAR_LENGTH, LEN). 471 Die Startposition einer Zeichenkette in einem Textwert ermitteln 12.2.3 Eine Spalte als Primärschlüsselspalte definieren. 421 14.2.1 12.2.4 Einer Spalte eine NOT NULL-Einschränkung zuordnen. 422 14.2.2 12.2.5 Einer Spalte eine NULL-Einschränkung zuordnen. 423 (POSITION, CHARINDEX) . 472
Inhalt Inhalt 14.2.3 Potenzen berechnen (POWER). 473 14.2.4 Eine Quadratwurzel berechnen (SQRT). 474 Übungen . 475 Verschachtelte Funktionsaufrufe. 476 14.3.1 480 14.2.5 14.3 Übungen . 17 Spaltenwerte gruppieren (GROUP BY)_ 17.1 17.2 522 Die Aggregatfunktion COUNT anwenden . 527 17.1.1 Übungen . Die Aggregatfunktion SUM anwenden. 17.2.1 17.3 15 Bedingungslogik 48i 15.1 Die CASE-Klausel. 481 15.2 Bedingungslogik in einer Spaltenauswahlliste einer 482 15.3 Bedingungslogik in einer ORDER BY-Klausel anwenden . 484 15.4 Übungen. 486 533 Übungen . 537 Nach aggregierten Werten einer Gruppierung filtern (HAVING). 537 Übungen . 539 Nach zwei oder mehr Spalten
gruppieren. 540 Übungen . 542 17.6.1 17.7 Übungen . NULL-Werte berücksichtigen. 17.5.1 17.6 Übungen . Die Aggregatfunktion MAX anwenden . 17.4.1 17.5 SELECT-Anweisung anwenden. Übungen . Die Aggregatfunktion AVG anwenden . 17.3.1 17.4 521 17.7.1 16 Mit Zeit und Datum arbeiten 16.1 Datumsformate. 490 16.2 Skalarfunktionen für Zeit-und Datumsangaben in SQL nutzen. 490 16.2.1 491 492 16.2.3 Übungen . 493 Zeit- und Datumsangaben formatieren . 493 Datumsformatierung unter PostgreSQL (TO_CHAR). 498 16.3.3 16.3.4 Datumsformatierung unter MS SQL Server (FORMAT). Übungen . 503 506 Datumsangaben
extrahieren (EXTRACT) . 508 Übungen . 512 Mit Datumsangaben rechnen. 513 16.5.1 Mit Datumswerten rechnen unter MySQL und MariaDB. 514 16.5.2 Mit Datumswerten rechnen unter PostgreSQL. 515 16.5.3 Mit Datumswerten rechnen unter MS SQLServer. Übungen . 517 16.5.4 14 18.2 494 16.3.2 16.4.1 16.5 18.1 16.2.2 Ergebnislisten mit einem Berichtsdatum versehen. 16.3.1 Datumsformatierung unter MySQL und MariaDB (DATE-FORMAT) 16.4 545 Datum, Zeit und Zeitstempel vom Datenbankserver ermitteln lassen. 16.3 18 Mächtiges Werkzeug: Die Unterabfragen (Subqueries) 18.3 18.4 Unterabfragen, die in Korrelation zueinander stehen. . . 546 Unterabfragen, die nicht in Korrelation zueinander stehen. . . 552 550 557 Vergleichsoperatoren auf Unterabfragen mit ANY, SOME und ALL . 558 . 561 . 563 Übungen . . 566 Auf die Existenz von Ergebniszeilen aus Unterabfragen prüfen ÍEXISTSÍ 18.4.1 519 15
Inhalt 19 Views: Abfragen in virtuellen Tabellen speichern 567 Einfache Views anlegen. 568 Übungen . 571 19.2 Views und ORDER BY. 573 19.1 19.1.1 Übungen . 575 INSERT, UPDATE und DELETE auf Views anwenden. 576 19.3.1 Eine INSERT-Anweisung auf Views an wenden. 576 19.3.2 Eine UPDATE-Anweisung auf Views anwenden. 580 19.3.3 Eine DELETE-Anweisung auf Views anwenden. 582 19.3.4 Views, auf die keine INSERT-, DELETE- oder UPDATE-Anweisung 19.2.1 19.3 angewendet werden kann. Übungen . 585 Views entfernen oder ersetzen. 587 Übungen . 588 19.3.5 19.4 583 19.4.1 20 Abfragen mit einem Index optimieren 591 20.1 Einführung. 591 20.2 Syntax: Index erstellen. 594
20.3 Eine Tabelle mit vielen Zeilen generieren. 595 20.4 Einen Index für eine Tabelle anlegen. 596 20.5 Einen Index über mehrere Spalten anlegen. 598 20.6 Den Index einer Tabelle löschen . 601 20.7 Fremdschlüsselspalten indexieren. 601 20.8 Übungen. 605 Index. 609 16 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Laube, Michael |
author_GND | (DE-588)1141820382 |
author_facet | Laube, Michael |
author_role | aut |
author_sort | Laube, Michael |
author_variant | m l ml |
building | Verbundindex |
bvnumber | BV048196505 |
classification_rvk | ST 271 |
ctrlnum | (OCoLC)1317695997 (DE-599)DNB1251574068 |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 3., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV048196505</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240516</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">220503s2022 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">22,N07</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1251574068</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836288156</subfield><subfield code="c">Hb.: EUR 29.90 (DE), EUR 30.80 (AT), CHF 38.90 (freier Preis)</subfield><subfield code="9">978-3-8362-8815-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">383628815X</subfield><subfield code="9">3-8362-8815-X</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836288156</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1317695997</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1251574068</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-634</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-1043</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-29</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 271</subfield><subfield code="0">(DE-625)143639:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 271</subfield><subfield code="0">(DE-625)143639:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Laube, Michael</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1141820382</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Einstieg in SQL</subfield><subfield code="c">Michael Laube</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk Computing</subfield><subfield code="c">2022</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">616 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Buchdeckel: Für Ausbildung und Beruf; Datenbanken und SQL - ganz ohne Vorkenntnisse einsteigen; SQL-Abfragen, Datenmodellierung, Tipps aus der Praxis; Übungen und Musterlösungen für alle Datenbanksysteme</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Hier auch später erschienene, unveränderte Nachdrucke</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">MySQL 8.0.28</subfield><subfield code="0">(DE-588)1263589847</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">SQL</subfield><subfield code="0">(DE-588)4134010-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Datenmodell</subfield><subfield code="0">(DE-588)4192516-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">SQL-Injection</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">MySQL</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">PostgreSQL</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">MS SQL</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">MariaDB</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Datenmodelle</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Access</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Tabelle</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Relation</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Referenzielle Integrität</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Datenbanken entwickeln</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Hand-Buch lernen Grundlagen Kurse Tipps Workshops Tutorials Wissen Training Einführung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Anfänger</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Skalar-Funktion</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Datenmodell</subfield><subfield code="0">(DE-588)4192516-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">SQL</subfield><subfield code="0">(DE-588)4134010-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">MySQL 8.0.28</subfield><subfield code="0">(DE-588)1263589847</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=84f0536f99ab4b92bc66e855f78937cc&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033577612&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20220211</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield></record></collection> |
id | DE-604.BV048196505 |
illustrated | Illustrated |
index_date | 2024-07-03T19:45:23Z |
indexdate | 2024-07-20T04:34:48Z |
institution | BVB |
institution_GND | (DE-588)1081738405 |
isbn | 9783836288156 383628815X |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-033577612 |
oclc_num | 1317695997 |
open_access_boolean | |
owner | DE-634 DE-29T DE-B768 DE-19 DE-BY-UBM DE-739 DE-Aug4 DE-859 DE-1050 DE-1043 DE-523 DE-1051 DE-706 DE-20 DE-573 DE-473 DE-BY-UBG DE-M347 DE-29 |
owner_facet | DE-634 DE-29T DE-B768 DE-19 DE-BY-UBM DE-739 DE-Aug4 DE-859 DE-1050 DE-1043 DE-523 DE-1051 DE-706 DE-20 DE-573 DE-473 DE-BY-UBG DE-M347 DE-29 |
physical | 616 Seiten Illustrationen, Diagramme |
publishDate | 2022 |
publishDateSearch | 2022 |
publishDateSort | 2022 |
publisher | Rheinwerk Computing |
record_format | marc |
spelling | Laube, Michael Verfasser (DE-588)1141820382 aut Einstieg in SQL Michael Laube 3., aktualisierte Auflage Bonn Rheinwerk Computing 2022 616 Seiten Illustrationen, Diagramme txt rdacontent n rdamedia nc rdacarrier Auf dem Buchdeckel: Für Ausbildung und Beruf; Datenbanken und SQL - ganz ohne Vorkenntnisse einsteigen; SQL-Abfragen, Datenmodellierung, Tipps aus der Praxis; Übungen und Musterlösungen für alle Datenbanksysteme Hier auch später erschienene, unveränderte Nachdrucke MySQL 8.0.28 (DE-588)1263589847 gnd rswk-swf SQL (DE-588)4134010-3 gnd rswk-swf Datenmodell (DE-588)4192516-6 gnd rswk-swf SQL-Injection MySQL PostgreSQL MS SQL MariaDB Datenmodelle Access Tabelle Relation Referenzielle Integrität Datenbanken entwickeln Hand-Buch lernen Grundlagen Kurse Tipps Workshops Tutorials Wissen Training Einführung Anfänger Programmierung Skalar-Funktion Datenmodell (DE-588)4192516-6 s SQL (DE-588)4134010-3 s MySQL 8.0.28 (DE-588)1263589847 s DE-604 Rheinwerk Verlag (DE-588)1081738405 pbl X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=84f0536f99ab4b92bc66e855f78937cc&prov=M&dok_var=1&dok_ext=htm Inhaltstext Digitalisierung UB Passau - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033577612&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20220211 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Laube, Michael Einstieg in SQL MySQL 8.0.28 (DE-588)1263589847 gnd SQL (DE-588)4134010-3 gnd Datenmodell (DE-588)4192516-6 gnd |
subject_GND | (DE-588)1263589847 (DE-588)4134010-3 (DE-588)4192516-6 |
title | Einstieg in SQL |
title_auth | Einstieg in SQL |
title_exact_search | Einstieg in SQL |
title_exact_search_txtP | Einstieg in SQL |
title_full | Einstieg in SQL Michael Laube |
title_fullStr | Einstieg in SQL Michael Laube |
title_full_unstemmed | Einstieg in SQL Michael Laube |
title_short | Einstieg in SQL |
title_sort | einstieg in sql |
topic | MySQL 8.0.28 (DE-588)1263589847 gnd SQL (DE-588)4134010-3 gnd Datenmodell (DE-588)4192516-6 gnd |
topic_facet | MySQL 8.0.28 SQL Datenmodell |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=84f0536f99ab4b92bc66e855f78937cc&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033577612&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT laubemichael einstieginsql AT rheinwerkverlag einstieginsql |