CINXE.COM
SQL – Wikipedia
<!DOCTYPE html> <html class="client-nojs" lang="de" dir="ltr"> <head> <meta charset="UTF-8"> <title>SQL – Wikipedia</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )dewikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgRequestId":"0a0fee38-e7c2-4725-9955-9e8d4b987185","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"SQL","wgTitle":"SQL","wgCurRevisionId":248769149,"wgRevisionId":248769149,"wgArticleId":4870,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Datenbanksprache", "SQL","Abkürzung","Programmiersprache mit einem ISO-Standard"],"wgPageViewLanguage":"de","wgPageContentLanguage":"de","wgPageContentModel":"wikitext","wgRelevantPageName":"SQL","wgRelevantArticleId":4870,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgFlaggedRevsParams":{"tags":{"accuracy":{"levels":1}}},"wgStableRevisionId":248769149,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"de","pageLanguageDir":"ltr","pageVariantFallbacks":"de"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":true, "wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q47607","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.gadget.citeRef":"ready","ext.gadget.defaultPlainlinks":"ready","ext.gadget.dewikiCommonHide":"ready","ext.gadget.dewikiCommonLayout":"ready","ext.gadget.dewikiCommonStyle":"ready","ext.gadget.NavFrame":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.styles.legacy":"ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready", "ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.flaggedRevs.advanced","ext.gadget.createNewSection","ext.gadget.WikiMiniAtlas","ext.gadget.OpenStreetMap","ext.gadget.CommonsDirekt","ext.gadget.donateLink","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=de&modules=codex-search-styles%7Cext.cite.styles%7Cext.flaggedRevs.basic%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cmediawiki.codex.messagebox.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&only=styles&skin=vector"> <script async="" src="/w/load.php?lang=de&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=de&modules=ext.gadget.NavFrame%2CciteRef%2CdefaultPlainlinks%2CdewikiCommonHide%2CdewikiCommonLayout%2CdewikiCommonStyle&only=styles&skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=de&modules=site.styles&only=styles&skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="SQL – Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//de.m.wikipedia.org/wiki/SQL"> <link rel="alternate" type="application/x-wiki" title="Seite bearbeiten" href="/w/index.php?title=SQL&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (de)"> <link rel="EditURI" type="application/rsd+xml" href="//de.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://de.wikipedia.org/wiki/SQL"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de"> <link rel="alternate" type="application/atom+xml" title="Atom-Feed für „Wikipedia“" href="/w/index.php?title=Spezial:Letzte_%C3%84nderungen&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-SQL rootpage-SQL skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">SQL</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">aus Wikipedia, der freien Enzyklopädie</div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Zur Navigation springen</a> <a class="mw-jump-link" href="#searchInput">Zur Suche springen</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable noprint hatnote navigation-not-searchable" style="border-bottom-style: solid; border-bottom-width: 1px; font-size:95%; margin-bottom:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="Vorlage_Dieser_Artikel"><div class="noviewer noresize" style="display: table-cell; padding-bottom: 0.2em; padding-left: 0.25em; padding-right: 1em; padding-top: 0.2em; vertical-align: middle;" id="bksicon" aria-hidden="true" role="presentation"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/25px-Disambig-dark.svg.png" decoding="async" width="25" height="19" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/38px-Disambig-dark.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/50px-Disambig-dark.svg.png 2x" data-file-width="444" data-file-height="340" /></span></span></div> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div role="navigation"> Dieser Artikel behandelt die Datenbanksprache. Zu weiteren Bedeutungen siehe <a href="/wiki/SQL_(Begriffskl%C3%A4rung)" class="mw-disambig" title="SQL (Begriffsklärung)">SQL (Begriffsklärung)</a>.</div> </div></div> <p><b>SQL</b> (offizielle Aussprache [<style data-mw-deduplicate="TemplateStyles:r227981795">.mw-parser-output .IPA a{text-decoration:none}</style><span class="navigation-not-searchable"><span class="IPA"><a href="/wiki/Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ɛskjuːˈɛl</span></a></span></span>], mitunter auch [<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r227981795"><span class="navigation-not-searchable"><span class="IPA"><a href="/wiki/Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ˈsiːkwəl</span></a></span></span>]; auf Deutsch auch häufig die deutsche Aussprache der Buchstaben) ist eine <a href="/wiki/Datenbanksprache" title="Datenbanksprache">Datenbanksprache</a> zur Definition von <a href="/wiki/Datenstruktur" title="Datenstruktur">Datenstrukturen</a> in <a href="/wiki/Relationale_Datenbank" title="Relationale Datenbank">relationalen Datenbanken</a> sowie zum Bearbeiten (Einfügen, Verändern, Löschen) und Abfragen von darauf basierenden Datenbeständen. </p><p>Die Sprache basiert auf der <a href="/wiki/Relationale_Algebra" title="Relationale Algebra">relationalen Algebra</a>, ihre <a href="/wiki/Syntax" title="Syntax">Syntax</a> ist relativ einfach aufgebaut und <a href="/wiki/Formale_Semantik" title="Formale Semantik">semantisch</a> an die englische Umgangssprache angelehnt. Ein gemeinsames Gremium von <a href="/wiki/Internationale_Organisation_f%C3%BCr_Normung" title="Internationale Organisation für Normung">ISO</a> und <a href="/wiki/International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a> <a href="/wiki/Standardisierung" title="Standardisierung">standardisiert</a> die Sprache unter Mitwirkung nationaler Normungsgremien wie <a href="/wiki/American_National_Standards_Institute" title="American National Standards Institute">ANSI</a> oder <a href="/wiki/Deutsches_Institut_f%C3%BCr_Normung" title="Deutsches Institut für Normung">DIN</a>. Durch den Einsatz von SQL strebt man die Unabhängigkeit der Anwendungen vom eingesetzten <a href="/wiki/Datenbank#Datenbankmanagementsystem" title="Datenbank">Datenbankmanagementsystem</a> an. </p><p>Die Bezeichnung <i>SQL</i> wird im allgemeinen Sprachgebrauch als Abkürzung für „<b>Structured Query Language</b>“ (auf Deutsch: „Strukturierte Abfrage-Sprache“) aufgefasst, obwohl sie laut Standard ein eigenständiger Name ist. Die Bezeichnung leitet sich von dem Vorgänger SEQUEL ([<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r227981795"><span class="navigation-not-searchable"><span class="IPA"><a href="/wiki/Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ˈsiːkwəl</span></a></span></span>], Structured English Query Language) ab, welche mit Beteiligung von <a href="/wiki/Edgar_F._Codd" title="Edgar F. Codd">Edgar F. Codd</a> (IBM) in den 1970er Jahren von <a href="/wiki/Donald_D._Chamberlin" title="Donald D. Chamberlin">Donald D. Chamberlin</a> und <a href="/wiki/Raymond_F._Boyce" title="Raymond F. Boyce">Raymond F. Boyce</a> entwickelt wurde. SEQUEL wurde später in SQL umbenannt, weil SEQUEL ein eingetragenes Warenzeichen der <a href="/wiki/Hawker_Siddeley" title="Hawker Siddeley">Hawker Siddeley</a> Aircraft Company ist.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="de" dir="ltr"><h2 id="mw-toc-heading">Inhaltsverzeichnis</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Sprachelemente_und_Beispiele"><span class="tocnumber">1</span> <span class="toctext">Sprachelemente und Beispiele</span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#Einfache_Abfrage"><span class="tocnumber">1.1</span> <span class="toctext">Einfache Abfrage</span></a></li> <li class="toclevel-2 tocsection-3"><a href="#Abfrage_mit_Spaltenauswahl_(,)"><span class="tocnumber">1.2</span> <span class="toctext">Abfrage mit Spaltenauswahl (,)</span></a></li> <li class="toclevel-2 tocsection-4"><a href="#Abfrage_mit_eindeutigen_Werten_(DISTINCT)"><span class="tocnumber">1.3</span> <span class="toctext">Abfrage mit eindeutigen Werten (DISTINCT)</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#Abfrage_mit_Umbenennung_(AS)"><span class="tocnumber">1.4</span> <span class="toctext">Abfrage mit Umbenennung (AS)</span></a></li> <li class="toclevel-2 tocsection-6"><a href="#Abfrage_mit_Filter_(WHERE)"><span class="tocnumber">1.5</span> <span class="toctext">Abfrage mit Filter (WHERE)</span></a></li> <li class="toclevel-2 tocsection-7"><a href="#Abfrage_mit_Filter_nach_Inhalt_(WHERE_..._LIKE_...)"><span class="tocnumber">1.6</span> <span class="toctext">Abfrage mit Filter nach Inhalt (WHERE ... LIKE ...)</span></a></li> <li class="toclevel-2 tocsection-8"><a href="#Abfrage_mit_Filter_und_Sortierung_(ORDER_BY)"><span class="tocnumber">1.7</span> <span class="toctext">Abfrage mit Filter und Sortierung (ORDER BY)</span></a></li> <li class="toclevel-2 tocsection-9"><a href="#Abfrage_mit_verknüpften_Tabellen_(,_und_INNER_JOIN)"><span class="tocnumber">1.8</span> <span class="toctext">Abfrage mit verknüpften Tabellen (, und INNER JOIN)</span></a></li> <li class="toclevel-2 tocsection-10"><a href="#Linker_äußerer_Verbund_(LEFT_OUTER_JOIN)"><span class="tocnumber">1.9</span> <span class="toctext">Linker äußerer Verbund (LEFT OUTER JOIN)</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#Gruppierung_mit_Aggregat-Funktionen_(GROUP_BY)"><span class="tocnumber">1.10</span> <span class="toctext">Gruppierung mit Aggregat-Funktionen (GROUP BY)</span></a></li> <li class="toclevel-2 tocsection-12"><a href="#Zusammenfassung_eines_SELECT"><span class="tocnumber">1.11</span> <span class="toctext">Zusammenfassung eines SELECT</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#Einfügen_von_Datensätzen_(INSERT_INTO_..._VALUES_...)"><span class="tocnumber">1.12</span> <span class="toctext">Einfügen von Datensätzen (INSERT INTO ... VALUES ...)</span></a></li> <li class="toclevel-2 tocsection-14"><a href="#Ändern_von_Datensätzen_(UPDATE)"><span class="tocnumber">1.13</span> <span class="toctext">Ändern von Datensätzen (UPDATE)</span></a></li> <li class="toclevel-2 tocsection-15"><a href="#Löschen_von_Datensätzen_(DELETE)"><span class="tocnumber">1.14</span> <span class="toctext">Löschen von Datensätzen (DELETE)</span></a></li> <li class="toclevel-2 tocsection-16"><a href="#Zusammenfassung_von_INSERT,_UPDATE_und_DELETE"><span class="tocnumber">1.15</span> <span class="toctext">Zusammenfassung von INSERT, UPDATE und DELETE</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-17"><a href="#Datendefinition"><span class="tocnumber">2</span> <span class="toctext">Datendefinition</span></a> <ul> <li class="toclevel-2 tocsection-18"><a href="#Datenbanktabelle_(CREATE_TABLE)"><span class="tocnumber">2.1</span> <span class="toctext">Datenbanktabelle (CREATE TABLE)</span></a></li> <li class="toclevel-2 tocsection-19"><a href="#Datenbankindex_(CREATE_INDEX)"><span class="tocnumber">2.2</span> <span class="toctext">Datenbankindex (CREATE INDEX)</span></a></li> <li class="toclevel-2 tocsection-20"><a href="#Sicht_(CREATE_VIEW)"><span class="tocnumber">2.3</span> <span class="toctext">Sicht (CREATE VIEW)</span></a></li> <li class="toclevel-2 tocsection-21"><a href="#Zusammenfassung_von_CREATE_TABLE,_CREATE_INDEX_und_CREATE_VIEW"><span class="tocnumber">2.4</span> <span class="toctext">Zusammenfassung von CREATE TABLE, CREATE INDEX und CREATE VIEW</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-22"><a href="#Redundanz"><span class="tocnumber">3</span> <span class="toctext">Redundanz</span></a></li> <li class="toclevel-1 tocsection-23"><a href="#Schlüssel"><span class="tocnumber">4</span> <span class="toctext">Schlüssel</span></a></li> <li class="toclevel-1 tocsection-24"><a href="#Referenzielle_Integrität"><span class="tocnumber">5</span> <span class="toctext">Referenzielle Integrität</span></a></li> <li class="toclevel-1 tocsection-25"><a href="#SQL-Datentypen"><span class="tocnumber">6</span> <span class="toctext">SQL-Datentypen</span></a></li> <li class="toclevel-1 tocsection-26"><a href="#Transaktion,_Commit_und_Rollback"><span class="tocnumber">7</span> <span class="toctext">Transaktion, Commit und Rollback</span></a></li> <li class="toclevel-1 tocsection-27"><a href="#Programmieren_mit_SQL"><span class="tocnumber">8</span> <span class="toctext">Programmieren mit SQL</span></a> <ul> <li class="toclevel-2 tocsection-28"><a href="#Programmierschnittstelle"><span class="tocnumber">8.1</span> <span class="toctext">Programmierschnittstelle</span></a></li> <li class="toclevel-2 tocsection-29"><a href="#Statisches_und_dynamisches_SQL"><span class="tocnumber">8.2</span> <span class="toctext">Statisches und dynamisches SQL</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-30"><a href="#Chronologie"><span class="tocnumber">9</span> <span class="toctext">Chronologie</span></a></li> <li class="toclevel-1 tocsection-31"><a href="#Sprachstandard"><span class="tocnumber">10</span> <span class="toctext">Sprachstandard</span></a></li> <li class="toclevel-1 tocsection-32"><a href="#Erweiterungen"><span class="tocnumber">11</span> <span class="toctext">Erweiterungen</span></a></li> <li class="toclevel-1 tocsection-33"><a href="#Literatur"><span class="tocnumber">12</span> <span class="toctext">Literatur</span></a></li> <li class="toclevel-1 tocsection-34"><a href="#Weblinks"><span class="tocnumber">13</span> <span class="toctext">Weblinks</span></a></li> <li class="toclevel-1 tocsection-35"><a href="#Siehe_auch"><span class="tocnumber">14</span> <span class="toctext">Siehe auch</span></a></li> <li class="toclevel-1 tocsection-36"><a href="#Einzelnachweise"><span class="tocnumber">15</span> <span class="toctext">Einzelnachweise</span></a></li> </ul> </div> <div class="mw-heading mw-heading2"><h2 id="Sprachelemente_und_Beispiele">Sprachelemente und Beispiele</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=1" title="Abschnitt bearbeiten: Sprachelemente und Beispiele" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=1" title="Quellcode des Abschnitts bearbeiten: Sprachelemente und Beispiele"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/Datei:SQL.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/ad/SQL.png/220px-SQL.png" decoding="async" width="220" height="165" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/ad/SQL.png/330px-SQL.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/ad/SQL.png/440px-SQL.png 2x" data-file-width="960" data-file-height="720" /></a><figcaption>Bestandteile von SQL</figcaption></figure> <p>SQL-Befehle lassen sich in fünf Kategorien unterteilen (Zuordnung nach der Theorie der <a href="/wiki/Datenbanksprache" title="Datenbanksprache">Datenbanksprachen</a> in Klammern): </p> <ul><li><a href="/wiki/Data_Query_Language" class="mw-redirect" title="Data Query Language">Data Query Language</a> (DQL) – Befehle zur Abfrage und Aufbereitung der gesuchten Informationen, wird auch als Untermenge der DML klassifiziert</li> <li><a href="/wiki/Data_Manipulation_Language" title="Data Manipulation Language">Data Manipulation Language</a> (DML) – Befehle zur <a href="/wiki/Datenmanipulation" class="mw-redirect" title="Datenmanipulation">Datenmanipulation</a> (Ändern, Einfügen, Löschen von <a href="/wiki/Datensatz" title="Datensatz">Datensätzen</a>) und lesendem Zugriff</li> <li><a href="/wiki/Data_Definition_Language" title="Data Definition Language">Data Definition Language</a> (DDL) – Befehle zur <a href="/wiki/Datendefinition" class="mw-redirect" title="Datendefinition">Definition</a> des <a href="/wiki/Datenbankschema" class="mw-redirect" title="Datenbankschema">Datenbankschemas</a> (Erzeugen, Ändern, Löschen von <a href="/wiki/Datenbanktabelle" title="Datenbanktabelle">Datenbanktabellen</a>, Definition von <a href="/wiki/Prim%C3%A4rschl%C3%BCssel" class="mw-redirect" title="Primärschlüssel">Primärschlüsseln</a> und <a href="/wiki/Fremdschl%C3%BCssel" class="mw-redirect" title="Fremdschlüssel">Fremdschlüsseln</a>)</li> <li><a href="/wiki/Data_Control_Language" title="Data Control Language">Data Control Language</a> (DCL) – Befehle für die <a href="/wiki/Mehrbenutzersystem#Rechtemanagement" title="Mehrbenutzersystem">Rechteverwaltung</a></li> <li><a href="/wiki/Transaction_Control_Language" title="Transaction Control Language">Transaction Control Language</a> (TCL) – Befehle für die <a href="/wiki/Transaktion_(Informatik)" title="Transaktion (Informatik)">Transaktionskontrolle</a></li></ul> <p>Die Bezeichnung SQL bezieht sich auf das englische Wort “<span lang="en">query</span>” (deutsch: „<a href="/wiki/Abfragesprache" title="Abfragesprache">Abfrage</a>“). Mit Abfragen werden die in einer Datenbank gespeicherten Daten abgerufen, also dem Benutzer oder einer Anwendersoftware zur Verfügung gestellt. </p><p> Das Ergebnis einer Abfrage sieht wiederum aus wie eine Tabelle und kann oft auch wie eine Tabelle angezeigt, bearbeitet und weiterverwendet werden. </p><div class="sieheauch" role="navigation" style="font-style:italic;"><span class="sieheauch-text">Siehe auch</span>: <a href="/wiki/Datenbanktabelle" title="Datenbanktabelle">Datenbanktabelle</a></div> <p>Die grundlegenden Befehle und Begriffe werden anhand des folgenden Beispiels erklärt: </p> <table> <tbody><tr style="border-bottom: 1px solid #EEE;"> <th><a href="/wiki/Entity-Relationship-Modell#ER-Diagramme" title="Entity-Relationship-Modell">ER-Diagramm</a>: </th> <td colspan="4"><span typeof="mw:File"><a href="/wiki/Datei:SQL-Beispiel.svg" class="mw-file-description" title="SQL-Beispiel"><img alt="SQL-Beispiel" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3f/SQL-Beispiel.svg/700px-SQL-Beispiel.svg.png" decoding="async" width="700" height="97" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3f/SQL-Beispiel.svg/1050px-SQL-Beispiel.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3f/SQL-Beispiel.svg/1400px-SQL-Beispiel.svg.png 2x" data-file-width="800" data-file-height="111" /></a></span> </td></tr> <tr> <th>Relationen: </th> <td> <table class="wikitable"> <caption><code>Student</code> </caption> <tbody><tr> <td><b><u><code>MatrNr</code></u></b></td> <td><b><code>Name</code></b> </td></tr> <tr> <td><code>26120</code></td> <td><code>Fichte</code> </td></tr> <tr> <td><code>25403</code></td> <td><code>Jonas</code> </td></tr> <tr> <td><code>27103</code></td> <td><code>Fauler</code> </td></tr></tbody></table> </td> <td> <table class="wikitable"> <caption><code>hoert</code> </caption> <tbody><tr> <td><b><u><code>MatrNr</code></u></b></td> <td><b><code><u>VorlNr</u></code></b> </td></tr> <tr> <td><code>25403</code></td> <td><code>5001</code> </td></tr> <tr> <td><code>26120</code></td> <td><code>5001</code> </td></tr> <tr> <td><code>26120</code></td> <td><code>5045</code> </td></tr></tbody></table> </td> <td> <table class="wikitable"> <caption><code>Vorlesung</code> </caption> <tbody><tr> <td><b><u><code>VorlNr</code></u></b></td> <td><b><code>Titel</code></b></td> <td><b><code>PersNr</code></b> </td></tr> <tr> <td><code>5001</code></td> <td><code>ET</code></td> <td><code>15</code> </td></tr> <tr> <td><code>5022</code></td> <td><code>IT</code></td> <td><code>12</code> </td></tr> <tr> <td><code>5045</code></td> <td><code>DB</code></td> <td><code>12</code> </td></tr></tbody></table> </td> <td> <table class="wikitable"> <caption><code>Professor</code> </caption> <tbody><tr> <td><b><u><code>PersNr</code></u></b></td> <td><b><code>Name</code></b> </td></tr> <tr> <td><code>12</code></td> <td><code>Wirth</code> </td></tr> <tr> <td><code>15</code></td> <td><code>Tesla</code> </td></tr> <tr> <td><code>20</code></td> <td><code>Urlauber</code> </td></tr></tbody></table> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Einfache_Abfrage">Einfache Abfrage</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=2" title="Abschnitt bearbeiten: Einfache Abfrage" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=2" title="Quellcode des Abschnitts bearbeiten: Einfache Abfrage"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Student</span><span class="p">;</span> </pre></div> <p>listet alle Spalten und alle Zeilen der Tabelle <code>Student</code> auf. </p><p>Ergebnis: </p> <table class="wikitable"> <tbody><tr> <th><code>MatrNr</code></th> <th><code>Name</code> </th></tr> <tr> <td><code>26120</code></td> <td><code>Fichte</code> </td></tr> <tr> <td><code>25403</code></td> <td><code>Jonas</code> </td></tr> <tr> <td><code>27103</code></td> <td><code>Fauler</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Abfrage_mit_Spaltenauswahl_(,)"><span id="Abfrage_mit_Spaltenauswahl_.28.2C.29"></span><span id="Spaltenauswahl"></span> Abfrage mit Spaltenauswahl (<code>,</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=3" title="Abschnitt bearbeiten: Abfrage mit Spaltenauswahl (,)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=3" title="Quellcode des Abschnitts bearbeiten: Abfrage mit Spaltenauswahl (,)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">VorlNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Titel</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">;</span> </pre></div> <p>listet die Spalten <code>VorlNr</code> und <code>Titel</code> aller Zeilen der Tabelle <code>Vorlesung</code> auf. </p><p>Ergebnis: </p> <table class="wikitable"> <tbody><tr> <th><code>VorlNr</code></th> <th><code>Titel</code> </th></tr> <tr> <td><code>5001</code></td> <td><code>ET</code> </td></tr> <tr> <td><code>5022</code></td> <td><code>IT</code> </td></tr> <tr> <td><code>5045</code></td> <td><code>DB</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Abfrage_mit_eindeutigen_Werten_(DISTINCT)"><span id="Abfrage_mit_eindeutigen_Werten_.28DISTINCT.29"></span>Abfrage mit eindeutigen Werten (<code>DISTINCT</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=4" title="Abschnitt bearbeiten: Abfrage mit eindeutigen Werten (DISTINCT)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=4" title="Quellcode des Abschnitts bearbeiten: Abfrage mit eindeutigen Werten (DISTINCT)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">MatrNr</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">hoert</span><span class="p">;</span> </pre></div> <p>listet nur unterschiedliche Einträge der Spalte <code>MatrNr</code> aus der Tabelle <code>hoert</code> auf. Dies zeigt die Matrikelnummern aller Studenten, die mindestens eine Vorlesung hören, wobei mehrfach auftretende Matrikelnummern nur einmal ausgegeben werden. </p><p>Ergebnis: </p> <table class="wikitable"> <tbody><tr> <th><code>MatrNr</code> </th></tr> <tr> <td><code>25403</code> </td></tr> <tr> <td><code>26120</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Abfrage_mit_Umbenennung_(AS)"><span id="Abfrage_mit_Umbenennung_.28AS.29"></span>Abfrage mit Umbenennung (<code>AS</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=5" title="Abschnitt bearbeiten: Abfrage mit Umbenennung (AS)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=5" title="Quellcode des Abschnitts bearbeiten: Abfrage mit Umbenennung (AS)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">MatrNr</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Matrikelnummer</span><span class="p">,</span> <span class="w"> </span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Student</span><span class="p">;</span> </pre></div> <p>listet die Spalten <code>MatrNr</code> und Name aller Zeilen der Tabelle <code>Student</code> auf. <code>MatrNr</code> wird beim Anzeigeergebnis als Matrikelnummer aufgeführt. </p><p>Ergebnis: </p> <table class="wikitable"> <tbody><tr> <th><code>Matrikelnummer</code></th> <th><code>Name</code> </th></tr> <tr> <td><code>26120</code></td> <td><code>Fichte</code> </td></tr> <tr> <td><code>25403</code></td> <td><code>Jonas</code> </td></tr> <tr> <td><code>27103</code></td> <td><code>Fauler</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Abfrage_mit_Filter_(WHERE)"><span id="Abfrage_mit_Filter_.28WHERE.29"></span><span id="Filter"></span> Abfrage mit Filter (<code>WHERE</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=6" title="Abschnitt bearbeiten: Abfrage mit Filter (WHERE)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=6" title="Quellcode des Abschnitts bearbeiten: Abfrage mit Filter (WHERE)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">VorlNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Titel</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">Titel</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'ET'</span><span class="p">;</span> </pre></div> <p>listet <code>VorlNr</code> und <code>Titel</code> aller derjenigen Zeilen der Tabelle <code>Vorlesung</code> auf, deren Titel <code>ET</code> ist. </p><p>Die solchermaßen strukturierte, häufig verwendete Anweisung wird nach den Anfangsbuchstaben auch als „SFW-Block“ bezeichnet. </p><p>Ergebnis: </p> <table class="wikitable"> <tbody><tr> <th><code>VorlNr</code></th> <th><code>Titel</code> </th></tr> <tr> <td><code>5001</code></td> <td><code>ET</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Abfrage_mit_Filter_nach_Inhalt_(WHERE_..._LIKE_...)"><span id="Abfrage_mit_Filter_nach_Inhalt_.28WHERE_..._LIKE_....29"></span>Abfrage mit Filter nach Inhalt (<code>WHERE ... LIKE ...</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=7" title="Abschnitt bearbeiten: Abfrage mit Filter nach Inhalt (WHERE ... LIKE ...)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=7" title="Quellcode des Abschnitts bearbeiten: Abfrage mit Filter nach Inhalt (WHERE ... LIKE ...)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Student</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">Name</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="s1">'F%'</span><span class="p">;</span> </pre></div> <p>listet die Namen aller Studenten auf, deren Name mit <code>F</code> beginnt (im Beispiel: <code>Fichte</code> und <code>Fauler</code>). </p><p><code>LIKE</code> kann mit verschiedenen <a href="/wiki/Wildcard_(Informatik)" title="Wildcard (Informatik)">Platzhaltern</a> verwendet werden: <code>_</code> steht für ein einzelnes beliebiges Zeichen, <code>%</code> steht für eine beliebige Zeichenfolge. Manche Datenbanksysteme bieten weitere solcher <i>Wildcard</i>-Zeichen an, etwa für Zeichenmengen. </p><p>Ergebnis: </p> <table class="wikitable"> <tbody><tr> <th><code>Name</code> </th></tr> <tr> <td><code>Fichte</code> </td></tr> <tr> <td><code>Fauler</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Abfrage_mit_Filter_und_Sortierung_(ORDER_BY)"><span id="Abfrage_mit_Filter_und_Sortierung_.28ORDER_BY.29"></span>Abfrage mit Filter und Sortierung (<code>ORDER BY</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=8" title="Abschnitt bearbeiten: Abfrage mit Filter und Sortierung (ORDER BY)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=8" title="Quellcode des Abschnitts bearbeiten: Abfrage mit Filter und Sortierung (ORDER BY)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">Vorname</span><span class="p">,</span> <span class="w"> </span><span class="n">Name</span><span class="p">,</span> <span class="w"> </span><span class="n">StrasseNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Plz</span><span class="p">,</span> <span class="w"> </span><span class="n">Ort</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Student</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">Plz</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'20095'</span> <span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Name</span><span class="p">;</span> </pre></div> <p>listet <code>Vorname</code>, <code>Name</code>, <code>StrasseNr</code>, <code>Plz</code> und <code>Ort</code> aller Studenten aus dem angegebenen Postleitzahlbereich aufsteigend sortiert nach <code>Name</code> auf. </p> <div class="mw-heading mw-heading3"><h3 id="Abfrage_mit_verknüpften_Tabellen_(,_und_INNER_JOIN)"><span id="Abfrage_mit_verkn.C3.BCpften_Tabellen_.28.2C_und_INNER_JOIN.29"></span><span id="Inner"></span> Abfrage mit verknüpften Tabellen (<code>,</code> und <code>INNER JOIN</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=9" title="Abschnitt bearbeiten: Abfrage mit verknüpften Tabellen (, und INNER JOIN)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=9" title="Quellcode des Abschnitts bearbeiten: Abfrage mit verknüpften Tabellen (, und INNER JOIN)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">VorlNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">Titel</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span><span class="p">,</span> <span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span><span class="p">;</span> </pre></div> <p>Die Aufzählung hinter <a href="/wiki/From_(SQL)" title="From (SQL)"><code>FROM</code></a> legt die Datenquellen fest: An dieser Stelle können mit Hilfe sogenannter <a href="/wiki/Join_(SQL)" title="Join (SQL)"><code>JOIN</code>s</a> mehrere Tabellen miteinander verknüpft werden, so dass Daten aus verschiedenen Tabellen zusammengeführt und angezeigt werden. </p><p>In diesem Beispiel wird ein „innerer natürlicher Verbund“ (<code>NATURAL INNER JOIN</code>) verwendet: alle Datensätze aus den Tabellen <code>Professor</code> und <code>Vorlesung</code>, die den gleichen Wert im Feld <code>PersNr</code> haben. <code>Professor</code>en ohne <code>Vorlesung</code> und <code>Vorlesung</code>en ohne <code>Professor</code> werden damit nicht angezeigt. </p><p>Dies ist äquivalent zu: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">VorlNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">Titel</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span> <span class="k">INNER</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span><span class="p">;</span> </pre></div> <p><i>Vorsicht: Nicht alle Implementierungen verstehen beide Schreibweisen, die <a href="/wiki/Oracle" title="Oracle">Oracle</a>-Schreibweise <code>FROM Professor, Vorlesung</code> gilt als veraltet und ist weniger verbreitet. Sie entspricht auch nicht dem ANSI-Standard und sollte deshalb vermieden werden. Aus historischen Gründen ist sie jedoch noch häufig anzutreffen.</i> </p><p>Tabellen können nicht nur über Schlüsselfelder, sondern über beliebige Felder miteinander verknüpft werden, wie das folgende, fachlich unsinnige Beispiel zeigt: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">Titel</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span><span class="p">,</span> <span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span><span class="w"> </span><span class="o"><></span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">Titel</span> </pre></div> <p>Das Ergebnis enthält die Kombinationen <i>aller</i> <code>Vorlesung</code>en und <i>aller <code>Professor</code>en</i>, bei denen der Name des <code>Professor</code>s vom Titel der <code>Vorlesung</code> <i>abweicht</i> – das sind einfach alle (keine <code>Vorlesung</code> heißt wie ein <code>Professor</code>): </p> <table class="wikitable"> <tbody><tr> <th><code>Titel</code></th> <th><code>Name</code> </th></tr> <tr> <td><code>ET</code></td> <td><code>Tesla</code> </td></tr> <tr> <td><code>ET</code></td> <td><code>Wirth</code> </td></tr> <tr> <td><code>ET</code></td> <td><code>Urlauber</code> </td></tr> <tr> <td><code>IT</code></td> <td><code>Tesla</code> </td></tr> <tr> <td><code>IT</code></td> <td><code>Wirth</code> </td></tr> <tr> <td><code>IT</code></td> <td><code>Urlauber</code> </td></tr> <tr> <td><code>DB</code></td> <td><code>Tesla</code> </td></tr> <tr> <td><code>DB</code></td> <td><code>Wirth</code> </td></tr> <tr> <td><code>DB</code></td> <td><code>Urlauber</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Linker_äußerer_Verbund_(LEFT_OUTER_JOIN)"><span id="Linker_.C3.A4u.C3.9Ferer_Verbund_.28LEFT_OUTER_JOIN.29"></span>Linker äußerer Verbund (<code>LEFT OUTER JOIN</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=10" title="Abschnitt bearbeiten: Linker äußerer Verbund (LEFT OUTER JOIN)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=10" title="Quellcode des Abschnitts bearbeiten: Linker äußerer Verbund (LEFT OUTER JOIN)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span><span class="p">,</span> <span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">VorlNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">Titel</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span> <span class="k">LEFT</span><span class="w"> </span><span class="k">OUTER</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span><span class="p">;</span> </pre></div> <p>ergibt alle Datensätze der Tabelle <code>Professor</code>, verbunden mit den Datensätzen der Tabelle <code>Vorlesung</code>, die den jeweils gleichen Wert im Feld <code>PersNr</code> haben. <code>Professor</code>en ohne Vorlesung sind im Ergebnis enthalten. Die Spalten aus der <code>Vorlesung</code>-Tabelle haben dann den Wert <code>NULL</code>. <code>Vorlesung</code>en ohne <code>Professor</code> sind nicht enthalten. </p><p>Die folgende Abfrage liefert nur diejenigen Datensätze, zu denen kein passender Datensatz im linken äußeren Verbund existiert (alle <code>Professor</code>en, die keine <code>Vorlesung</code>en halten): </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span> <span class="k">LEFT</span><span class="w"> </span><span class="k">OUTER</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span> </pre></div> <p>Das Gleiche kann mittels einer Unterabfrage erreicht werden: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">EXISTS</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Gruppierung_mit_Aggregat-Funktionen_(GROUP_BY)"><span id="Gruppierung_mit_Aggregat-Funktionen_.28GROUP_BY.29"></span>Gruppierung mit Aggregat-Funktionen (<code>GROUP BY</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=11" title="Abschnitt bearbeiten: Gruppierung mit Aggregat-Funktionen (GROUP BY)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=11" title="Quellcode des Abschnitts bearbeiten: Gruppierung mit Aggregat-Funktionen (GROUP BY)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span><span class="p">,</span> <span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Anzahl</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span> <span class="k">LEFT</span><span class="w"> </span><span class="k">OUTER</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span> <span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">;</span> </pre></div> <p>zählt die Anzahl der <code>Vorlesungen</code> pro <code>Professor</code> mit Hilfe der <a href="/wiki/Aggregation_(Informatik)" title="Aggregation (Informatik)">Aggregat</a>-Funktion <code>COUNT</code>. </p><p><i>Bemerkung</i>: <code>COUNT(Professor.PersNr)</code> oder <code>COUNT(*)</code> wären falsch (<a href="/wiki/Nullwert" title="Nullwert"><code>NULL</code>-Werte</a> sollen nicht mitgezählt werden). </p> <div class="mw-heading mw-heading3"><h3 id="Zusammenfassung_eines_SELECT">Zusammenfassung eines <code>SELECT</code></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=12" title="Abschnitt bearbeiten: Zusammenfassung eines SELECT" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=12" title="Quellcode des Abschnitts bearbeiten: Zusammenfassung eines SELECT"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Zusammengefasst kann man die wichtigsten Elemente einer SQL-<code>SELECT</code>-Abfrage etwa so beschreiben: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="p">[</span><span class="k">DISTINCT</span><span class="p">]</span><span class="w"> </span><span class="n">Auswahlliste</span><span class="w"> </span><span class="p">[</span><span class="k">AS</span><span class="w"> </span><span class="n">Spaltenalias</span><span class="p">]</span> <span class="k">FROM</span><span class="w"> </span><span class="n">Quelle</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">[</span><span class="k">AS</span><span class="p">]</span><span class="w"> </span><span class="n">Tabellenalias</span><span class="p">],</span><span class="w"> </span><span class="n">evtl</span><span class="p">.</span><span class="w"> </span><span class="n">mit</span><span class="w"> </span><span class="k">JOIN</span><span class="o">-</span><span class="n">Verknüpfungen</span> <span class="p">[</span><span class="k">WHERE</span><span class="w"> </span><span class="k">Where</span><span class="o">-</span><span class="n">Klausel</span><span class="p">]</span> <span class="p">[</span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">ein</span><span class="w"> </span><span class="n">oder</span><span class="w"> </span><span class="n">mehrere</span><span class="w"> </span><span class="k">Group</span><span class="o">-</span><span class="k">by</span><span class="o">-</span><span class="n">Attribute</span><span class="p">]</span> <span class="p">[</span><span class="k">HAVING</span><span class="w"> </span><span class="k">Having</span><span class="o">-</span><span class="n">Klausel</span><span class="p">]</span> <span class="p">[</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">ein</span><span class="w"> </span><span class="n">oder</span><span class="w"> </span><span class="n">mehrere</span><span class="w"> </span><span class="n">Sortierungsattribute</span><span class="w"> </span><span class="n">mit</span><span class="w"> </span><span class="p">[</span><span class="k">ASC</span><span class="o">|</span><span class="k">DESC</span><span class="p">]];</span> </pre></div> <p><b>Erläuterung:</b> </p> <ul><li><b><code>DISTINCT</code>:</b> gibt an, dass aus der Ergebnisrelation gleiche <a href="/wiki/Tupel_(Informatik)" title="Tupel (Informatik)">Ergebnistupel</a> entfernt werden sollen. Es wird also jeder Datensatz nur einmal ausgegeben, auch wenn er mehrfach in der Tabelle vorkommt. Sonst liefert SQL eine <a href="/wiki/Multimenge" title="Multimenge">Multimenge</a> zurück.</li> <li><b>Auswahlliste:</b> bestimmt, welche Spalten der <i>Quelle</i> auszugeben sind (<code>*</code> für alle) und ob <a href="/wiki/Aggregatfunktion" title="Aggregatfunktion">Aggregatsfunktionen</a> anzuwenden sind. Wie bei allen anderen Aufzählungen werden die einzelnen Elemente mit Komma (<code>,</code>) voneinander getrennt.</li> <li><b>Quelle:</b> gibt an, wo die Daten herkommen. Es können <a href="/wiki/Relation_(Datenbank)" title="Relation (Datenbank)">Relationen</a> und <a href="/wiki/Sicht_(Datenbank)" title="Sicht (Datenbank)">Sichten</a> angegeben werden und miteinander als <a href="/wiki/Kartesisches_Produkt" title="Kartesisches Produkt">kartesisches Produkt</a> oder als Verbund (<a href="/wiki/Relationale_Algebra#Join" title="Relationale Algebra"><code>JOIN</code></a>, ab SQL-92) verknüpft werden. Mit der zusätzlichen Angabe eines Namens können Relationen für die Abfrage umbenannt werden (vgl. <a href="#Sprachelemente_und_Beispiele">Beispiele</a>).</li> <li><b><code>WHERE</code>-Klausel:</b> bestimmt Bedingungen, auch Filter genannt, unter denen die Daten ausgegeben werden sollen. In SQL ist hier auch die Angabe von Unterabfragen möglich, so dass SQL <i>streng relational vollständig</i> wird.</li> <li><b><code>GROUP BY</code>-Attribut:</b> legt fest, ob unterschiedliche Werte als einzelne Zeilen ausgegeben werden sollen (<code>GROUP BY</code> = Gruppierung) oder aber die Feldwerte der Zeilen durch Aggregationen wie Addition (<code>SUM</code>), Durchschnitt (<code>AVG</code>), Minimum (<code>MIN</code>), Maximum (<code>MAX</code>) zu einem Ergebniswert zusammengefasst werden, der sich auf die Gruppierung bezieht.</li> <li><b><code>HAVING</code>-Klausel:</b> ist wie die <code>WHERE</code>-Klausel, nur dass sich die angegebene Bedingung auf das Ergebnis einer Aggregationsfunktion bezieht, zum Beispiel <code>HAVING SUM (Betrag) > 0</code>.</li> <li><b>Sortierungsattribut:</b> Nach <code>ORDER BY</code> werden Attribute angegeben, nach denen sortiert werden soll. Die Standardvoreinstellung ist <code>ASC</code>, das bedeutet aufsteigende Sortierung, <code>DESC</code> ist absteigende Sortierung.</li></ul> <p><b>Mengenoperatoren</b> können auf mehrere <code>SELECT</code>-Abfragen angewandt werden, die gleich viele Attribute haben und bei denen die Datentypen der Attribute übereinstimmen: </p> <ul><li><b><code>UNION</code>:</b> vereinigt die Ergebnismengen. In einigen Implementierungen werden mehrfach vorkommende Ergebnistupel wie bei <code>DISTINCT</code> entfernt, ohne dass <code>UNION DISTINCT</code> geschrieben werden muss beziehungsweise darf.</li> <li><b><code>UNION ALL</code>:</b> vereinigt die Ergebnismengen. Mehrfach vorkommende Ergebnistupel bleiben erhalten. Einige Implementierungen interpretieren aber <code>UNION</code> wie <code>UNION ALL</code> und verstehen das <code>ALL</code> möglicherweise nicht und geben eine Fehlermeldung aus.</li> <li><b><code>EXCEPT</code>:</b> liefert die Tupel, die in einer ersten, jedoch nicht in einer zweiten Ergebnismenge enthalten sind. Mehrfach vorkommende Ergebnistupel werden entfernt.</li> <li><b><code>MINUS</code>:</b> ein analoger Operator wie <code>EXCEPT</code>, der in manchen SQL-Dialekten alternativ benutzt wird.</li> <li><b><code>INTERSECT</code>:</b> liefert die Schnittmenge zweier Ergebnismengen. Mehrfach vorkommende Ergebnistupel werden entfernt.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Einfügen_von_Datensätzen_(INSERT_INTO_..._VALUES_...)"><span id="Einf.C3.BCgen_von_Datens.C3.A4tzen_.28INSERT_INTO_..._VALUES_....29"></span>Einfügen von Datensätzen (<code>INSERT INTO ... VALUES ...</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=13" title="Abschnitt bearbeiten: Einfügen von Datensätzen (INSERT INTO ... VALUES ...)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=13" title="Quellcode des Abschnitts bearbeiten: Einfügen von Datensätzen (INSERT INTO ... VALUES ...)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">Vorlesung</span><span class="w"> </span><span class="p">(</span><span class="n">VorlNr</span><span class="p">,</span><span class="w"> </span><span class="n">Titel</span><span class="p">,</span><span class="w"> </span><span class="n">PersNr</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1000</span><span class="p">,</span><span class="w"> </span><span class="s1">'Softwareentwicklung 1'</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">);</span> <span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">Vorlesung</span><span class="w"> </span><span class="p">(</span><span class="n">VorlNr</span><span class="p">,</span><span class="w"> </span><span class="n">Titel</span><span class="p">,</span><span class="w"> </span><span class="n">PersNr</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1600</span><span class="p">,</span><span class="w"> </span><span class="s1">'Algorithmen'</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">);</span> <span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">Vorlesung</span><span class="w"> </span><span class="p">(</span><span class="n">VorlNr</span><span class="p">,</span><span class="w"> </span><span class="n">Titel</span><span class="p">,</span><span class="w"> </span><span class="n">PersNr</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1200</span><span class="p">,</span><span class="w"> </span><span class="s1">'Netzwerke 1'</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">);</span> <span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">Vorlesung</span><span class="w"> </span><span class="p">(</span><span class="n">VorlNr</span><span class="p">,</span><span class="w"> </span><span class="n">Titel</span><span class="p">,</span><span class="w"> </span><span class="n">PersNr</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1001</span><span class="p">,</span><span class="w"> </span><span class="s1">'Datenbanken'</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">);</span> </pre></div> <p>fügt vier Datensätze in die Tabelle <code>Vorlesung</code> ein. Die Werte müssen mit den Datentypen der Felder <code>VorlNr</code>, <code>Titel</code> und <code>PersNr</code> zusammenpassen. </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">;</span> </pre></div> <p>liefert dann zum Beispiel das Ergebnis (die Reihenfolge kann auch anders sein): </p> <table class="wikitable"> <tbody><tr> <th><code>VorlNr</code></th> <th><code>Titel</code> </th> <th><code>PersNr</code> </th></tr> <tr> <td><code>1001</code> </td> <td><code>Datenbanken</code> </td> <td><code>15</code> </td></tr> <tr> <td><code>1000</code> </td> <td><code>Softwareentwicklung 1</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>1200</code> </td> <td><code>Netzwerke 1</code> </td> <td><code>20</code> </td></tr> <tr> <td><code>5001</code></td> <td><code>ET</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>5022</code></td> <td><code>IT</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>1600</code> </td> <td><code>Algorithmen</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>5045</code></td> <td><code>DB</code> </td> <td><code>15</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Ändern_von_Datensätzen_(UPDATE)"><span id=".C3.84ndern_von_Datens.C3.A4tzen_.28UPDATE.29"></span>Ändern von Datensätzen (<code>UPDATE</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=14" title="Abschnitt bearbeiten: Ändern von Datensätzen (UPDATE)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=14" title="Quellcode des Abschnitts bearbeiten: Ändern von Datensätzen (UPDATE)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">UPDATE</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">VorlNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">VorlNr</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1000</span><span class="p">,</span> <span class="w"> </span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">20</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="p">;</span> </pre></div> <p>ändert alle Datensätze, für die <code>PersNr</code> den Wert <code>15</code> hat. Der Wert von <code>VorlNr</code> wird um <code>1000</code> erhöht und der Wert von <code>PersNr</code> auf <code>20</code> gesetzt. </p><p>Ergebnis eines nachfolgenden <code>SELECT *</code> ist, eventuell mit anderer Reihenfolge: </p> <table class="wikitable"> <tbody><tr> <th><code>VorlNr</code></th> <th><code>Titel</code> </th> <th><code>PersNr</code> </th></tr> <tr> <td><code>1000</code> </td> <td><code>Softwareentwicklung 1</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>1200</code> </td> <td><code>Netzwerke 1</code> </td> <td><code>20</code> </td></tr> <tr> <td><code>1600</code> </td> <td><code>Algorithmen</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>2001</code> </td> <td><code>Datenbanken</code> </td> <td><code>20</code> </td></tr> <tr> <td><code>5001</code></td> <td><code>ET</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>5022</code></td> <td><code>IT</code> </td> <td><code>12</code> </td></tr> <tr> <td><code>6045</code></td> <td><code>DB</code> </td> <td><code>20</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Löschen_von_Datensätzen_(DELETE)"><span id="L.C3.B6schen_von_Datens.C3.A4tzen_.28DELETE.29"></span>Löschen von Datensätzen (<code>DELETE</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=15" title="Abschnitt bearbeiten: Löschen von Datensätzen (DELETE)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=15" title="Quellcode des Abschnitts bearbeiten: Löschen von Datensätzen (DELETE)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">DELETE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">12</span><span class="p">;</span> </pre></div> <p>löscht alle Datensätze, für die <code>PersNr</code> den Wert <code>12</code> hat. </p><p>Ergebnis eines nachfolgenden <code>SELECT *</code>, eventuell in anderer Reihenfolge: </p> <table class="wikitable"> <tbody><tr> <th><code>VorlNr</code></th> <th><code>Titel</code> </th> <th><code>PersNr</code> </th></tr> <tr> <td><code>1200</code> </td> <td><code>Netzwerke 1</code> </td> <td><code>20</code> </td></tr> <tr> <td><code>2001</code> </td> <td><code>Datenbanken</code> </td> <td><code>20</code> </td></tr> <tr> <td><code>6045</code></td> <td><code>DB</code> </td> <td><code>20</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Zusammenfassung_von_INSERT,_UPDATE_und_DELETE"><span id="Zusammenfassung_von_INSERT.2C_UPDATE_und_DELETE"></span>Zusammenfassung von <code>INSERT</code>, <code>UPDATE</code> und <code>DELETE</code></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=16" title="Abschnitt bearbeiten: Zusammenfassung von INSERT, UPDATE und DELETE" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=16" title="Quellcode des Abschnitts bearbeiten: Zusammenfassung von INSERT, UPDATE und DELETE"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Verallgemeinert sehen die Änderungsanweisungen wie folgt aus. </p><p><code>INSERT</code>-Anweisung: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">Quelle</span><span class="w"> </span><span class="p">[(</span><span class="n">Auswahlliste</span><span class="p">)]</span> <span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">Werteliste</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o"><</span><span class="n">Auswahlkriterien</span><span class="o">></span><span class="p">;</span> </pre></div> <p><code>UPDATE</code>-Anweisung: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">UPDATE</span><span class="w"> </span><span class="n">Quelle</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">Zuweisungsliste</span> <span class="p">[</span><span class="k">FROM</span><span class="w"> </span><span class="k">From</span><span class="o">-</span><span class="n">Klausel</span><span class="p">]</span> <span class="p">[</span><span class="k">WHERE</span><span class="w"> </span><span class="n">Auswahlbedingung</span><span class="p">];</span> </pre></div> <p><code>DELETE</code>-Anweisung: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">DELETE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Quelle</span> <span class="p">[</span><span class="k">WHERE</span><span class="w"> </span><span class="n">Auswahlbedingung</span><span class="p">];</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Datendefinition">Datendefinition</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=17" title="Abschnitt bearbeiten: Datendefinition" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=17" title="Quellcode des Abschnitts bearbeiten: Datendefinition"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Datenbanktabelle_(CREATE_TABLE)"><span id="Datenbanktabelle_.28CREATE_TABLE.29"></span>Datenbanktabelle (<code>CREATE TABLE</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=18" title="Abschnitt bearbeiten: Datenbanktabelle (CREATE TABLE)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=18" title="Quellcode des Abschnitts bearbeiten: Datenbanktabelle (CREATE TABLE)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die <a href="/wiki/Datenbanktabelle" title="Datenbanktabelle">Datenbanktabelle</a> <code>Vorlesung</code> kann mit der folgenden <a href="/wiki/Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisung</a> erzeugt werden: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">Vorlesung</span><span class="w"> </span><span class="p">(</span><span class="n">VorlNr</span><span class="w"> </span><span class="nb">INT</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">KEY</span><span class="p">,</span><span class="w"> </span><span class="n">Titel</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">PersNr</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">FOREIGN</span><span class="w"> </span><span class="k">KEY</span><span class="w"> </span><span class="p">(</span><span class="n">PersNr</span><span class="p">)</span><span class="w"> </span><span class="k">REFERENCES</span><span class="w"> </span><span class="n">Professor</span><span class="w"> </span><span class="p">(</span><span class="n">PersNr</span><span class="p">));</span> </pre></div> <p>In keinem der Felder <code>VorlNr</code>, <code>Titel</code>, <code>PersNr</code> ist der Wert <code>NULL</code> erlaubt. Der <a href="/wiki/Fremdschl%C3%BCssel" class="mw-redirect" title="Fremdschlüssel">Fremdschlüssel</a> <code>PersNr</code> <a href="/wiki/Referenz_(Programmierung)" title="Referenz (Programmierung)">referenziert</a> den <a href="/wiki/Prim%C3%A4rschl%C3%BCssel" class="mw-redirect" title="Primärschlüssel">Primärschlüssel</a> <u><code>PersNr</code></u> der Tabelle <code>Professor</code>. Damit wird sichergestellt, dass in die Tabelle <code>Vorlesung</code> nur <a href="/wiki/Datens%C3%A4tze" class="mw-redirect" title="Datensätze">Datensätze</a> eingefügt werden können, für die der Wert von <u><code>PersNr</code></u> in der Tabelle <code>Professor</code> als Primärschlüssel vorkommt (siehe <a class="mw-selflink-fragment" href="#Referenzielle_Integrität">referenzielle Integrität</a>). </p> <div class="mw-heading mw-heading3"><h3 id="Datenbankindex_(CREATE_INDEX)"><span id="Datenbankindex_.28CREATE_INDEX.29"></span>Datenbankindex (<code>CREATE INDEX</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=19" title="Abschnitt bearbeiten: Datenbankindex (CREATE INDEX)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=19" title="Quellcode des Abschnitts bearbeiten: Datenbankindex (CREATE INDEX)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Mit der <a href="/wiki/Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisung</a> </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="n">VorlesungIndex</span> <span class="k">ON</span><span class="w"> </span><span class="n">Vorlesung</span><span class="w"> </span><span class="p">(</span><span class="n">PersNr</span><span class="p">,</span><span class="w"> </span><span class="n">Titel</span><span class="p">);</span> </pre></div> <p>kann ein <a href="/wiki/Datenbankindex" title="Datenbankindex">Datenbankindex</a> für die Tabelle <code>Vorlesung</code> definiert werden, der vom Datenbanksystem bei der Ausführung von Abfragen zur Beschleunigung verwendet werden kann. Ob das sinnvoll ist, entscheidet das Datenbanksystem eigenständig durch komplexe Auswertungen und Analysen für jede Abfrage erneut. </p> <div class="mw-heading mw-heading3"><h3 id="Sicht_(CREATE_VIEW)"><span id="Sicht_.28CREATE_VIEW.29"></span><span id="Sicht"></span> Sicht (<code>CREATE VIEW</code>)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=20" title="Abschnitt bearbeiten: Sicht (CREATE VIEW)" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=20" title="Quellcode des Abschnitts bearbeiten: Sicht (CREATE VIEW)"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eine <a href="/wiki/Sicht_(Datenbank)" title="Sicht (Datenbank)">Sicht</a> ist im Wesentlichen ein Alias für eine <a href="/wiki/Datenbankabfrage" class="mw-redirect" title="Datenbankabfrage">Datenbankabfrage</a>. Sie kann wie eine <a href="/wiki/Datenbanktabelle" title="Datenbanktabelle">Datenbanktabelle</a> verwendet werden. Die <a href="/wiki/Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisung</a> </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">Vorlesungssicht</span><span class="w"> </span><span class="k">AS</span> <span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">VorlNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">Titel</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="p">,</span> <span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Professor</span> <span class="k">INNER</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Vorlesung</span> <span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">Professor</span><span class="p">.</span><span class="n">PersNr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Vorlesung</span><span class="p">.</span><span class="n">PersNr</span><span class="p">;</span> </pre></div> <p>speichert die definierte Abfrage als Sicht. Die Abfrage </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">Titel</span><span class="p">,</span> <span class="w"> </span><span class="n">Name</span> <span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Vorlesungssicht</span> <span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">VorlNr</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">5000</span><span class="p">;</span> </pre></div> <p>verwendet diese <a href="/wiki/Sicht_(Datenbank)" title="Sicht (Datenbank)">Sicht</a> und könnte zum Beispiel folgendes Ergebnis liefern: </p> <table class="wikitable"> <tbody><tr> <th><code>Titel</code> </th> <th><code>Name</code> </th></tr> <tr> <td><code>Softwareentwicklung 1</code> </td> <td><code>Wirth</code> </td></tr> <tr> <td><code>Netzwerke 1</code> </td> <td><code>Urlauber</code> </td></tr> <tr> <td><code>Algorithmen</code> </td> <td><code>Wirth</code> </td></tr> <tr> <td><code>Datenbanken</code> </td> <td><code>Urlauber</code> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Zusammenfassung_von_CREATE_TABLE,_CREATE_INDEX_und_CREATE_VIEW"><span id="Zusammenfassung_von_CREATE_TABLE.2C_CREATE_INDEX_und_CREATE_VIEW"></span>Zusammenfassung von <code>CREATE TABLE</code>, <code>CREATE INDEX</code> und <code>CREATE VIEW</code></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=21" title="Abschnitt bearbeiten: Zusammenfassung von CREATE TABLE, CREATE INDEX und CREATE VIEW" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=21" title="Quellcode des Abschnitts bearbeiten: Zusammenfassung von CREATE TABLE, CREATE INDEX und CREATE VIEW"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Zusammengefasst sind die wichtigsten Elemente der Definition einer <a href="/wiki/Datenbanktabelle" title="Datenbanktabelle">Datenbanktabelle</a>, eines <a href="/wiki/Datenbankindex" title="Datenbankindex">Datenbankindex</a> oder einer <a href="/wiki/Sicht_(Datenbank)" title="Sicht (Datenbank)">Sicht</a> wie folgt anzugeben: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">Tabellenname</span><span class="w"> </span><span class="p">(</span><span class="n">Attributdefinition</span><span class="w"> </span><span class="p">[</span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">KEY</span><span class="p">])</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="k">FOREIGN</span><span class="w"> </span><span class="k">KEY</span><span class="w"> </span><span class="p">(</span><span class="n">Attributliste</span><span class="p">)</span><span class="w"> </span><span class="k">REFERENCES</span><span class="w"> </span><span class="n">Tabellenname</span><span class="w"> </span><span class="p">(</span><span class="n">Attributliste</span><span class="p">)]);</span> <span class="k">DROP</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">Tabellenname</span><span class="p">;</span> <span class="k">ALTER</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">Tabellenname</span><span class="w"> </span><span class="p">(</span><span class="n">Attributdefinition</span><span class="w"> </span><span class="p">[</span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">KEY</span><span class="p">])</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="k">FOREIGN</span><span class="w"> </span><span class="k">KEY</span><span class="w"> </span><span class="p">(</span><span class="n">Attributliste</span><span class="p">)</span><span class="w"> </span><span class="k">REFERENCES</span><span class="w"> </span><span class="n">Tabellenname</span><span class="w"> </span><span class="p">(</span><span class="n">Attributliste</span><span class="p">)]);</span> <span class="k">CREATE</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="n">Indexname</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">Tabellenname</span><span class="w"> </span><span class="p">(</span><span class="n">Attributliste</span><span class="p">);</span> <span class="k">DROP</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="n">Indexname</span><span class="p">;</span> <span class="k">CREATE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">Sichtname</span><span class="w"> </span><span class="p">[(</span><span class="n">Attributliste</span><span class="p">)]</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o"><</span><span class="n">Auswahlkriterien</span><span class="o">></span><span class="p">;</span> <span class="k">DROP</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">Sichtname</span><span class="p">;</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Redundanz">Redundanz</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=22" title="Abschnitt bearbeiten: Redundanz" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=22" title="Quellcode des Abschnitts bearbeiten: Redundanz"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/Normalisierung_(Datenbank)" title="Normalisierung (Datenbank)">Normalisierung (Datenbank)</a></i></div> <p>Ein <a href="/wiki/Grundsatz" title="Grundsatz">Grundsatz</a> des <a href="/wiki/Datenbankdesign" title="Datenbankdesign">Datenbankdesigns</a> ist, dass in einer Datenbank keine <a href="/wiki/Redundanz_(Informationstheorie)" title="Redundanz (Informationstheorie)">Redundanzen</a> auftreten sollen. Dies bedeutet, dass jede Information, also zum Beispiel eine Adresse, nur genau einmal gespeichert wird. </p> <dl><dd><i>Beispiel</i>: in der Teilnehmerliste einer Vorlesung werden die Adressen nicht erneut erfasst, sondern nur indirekt über die Matrikelnummer. Um dennoch eine Teilnehmerliste mit Adressen zu erstellen, erfolgt eine <code>SELECT</code>-Abfrage, in der die Teilnehmertabelle mit der Studententabelle verknüpft wird (siehe oben: <code>JOIN</code>).</dd></dl> <p>In manchen Fällen ist die <a href="/wiki/Rechenleistung" title="Rechenleistung">Performance</a> einer Datenbank besser, wenn sie nicht (vollständig) normalisiert wird. In diesem Falle werden in der Praxis oft Redundanzen bewusst in Kauf genommen, um zeitaufwändige und komplexe <a href="/wiki/Relationale_Algebra#Join" title="Relationale Algebra">Joins</a> zu verkürzen und so die Geschwindigkeit der Abfragen zu erhöhen. Man spricht auch von einer Denormalisierung einer Datenbank. Wann (und ob überhaupt) eine Denormalisierung sinnvoll ist, ist umstritten und hängt von den Umständen ab. </p> <div class="mw-heading mw-heading2"><h2 id="Schlüssel"><span id="Schl.C3.BCssel"></span>Schlüssel</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=23" title="Abschnitt bearbeiten: Schlüssel" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=23" title="Quellcode des Abschnitts bearbeiten: Schlüssel"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/Schl%C3%BCssel_(Datenbank)" title="Schlüssel (Datenbank)">Schlüssel (Datenbank)</a></i></div> <p>Während die Informationen auf viele Tabellen verteilt werden müssen, um Redundanzen zu vermeiden, sind Schlüssel das Mittel, um diese verstreuten Informationen miteinander zu verknüpfen. </p><p>So hat in der Regel jeder Datensatz eine eindeutige Nummer oder ein anderes eindeutiges Feld, um ihn zu identifizieren. Diese Identifikationen werden als Schlüssel bezeichnet. </p><p>Wenn dieser Datensatz in anderen Zusammenhängen benötigt wird, wird lediglich sein Schlüssel angegeben. So werden bei der Erfassung von Vorlesungsteilnehmern nicht deren Namen und Adressen, sondern nur deren jeweilige Matrikelnummer erfasst, aus der sich alle weiteren Personalien ergeben. </p><p>So kann es sein, dass manche Datensätze nur aus Schlüsseln (meist Zahlen) bestehen, die erst in Verbindung mit Verknüpfungen verständlich werden. Der eigene Schlüssel des Datensatzes wird dabei als Primärschlüssel bezeichnet. Andere Schlüssel im Datensatz, die auf die Primärschlüssel anderer Tabellen verweisen, werden als Fremdschlüssel bezeichnet. </p><p>Schlüssel können auch aus einer Kombination mehrerer Angaben bestehen. Zum Beispiel können die Teilnehmer einer Vorlesung durch die eindeutige Kombination von Vorlesungsnummer und Studentennummer identifiziert werden, so dass die doppelte Anmeldung eines Studenten zu einer Vorlesung ausgeschlossen ist. </p> <div class="mw-heading mw-heading2"><h2 id="Referenzielle_Integrität"><span id="Referenzielle_Integrit.C3.A4t"></span>Referenzielle Integrität</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=24" title="Abschnitt bearbeiten: Referenzielle Integrität" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=24" title="Quellcode des Abschnitts bearbeiten: Referenzielle Integrität"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/Referentielle_Integrit%C3%A4t" title="Referentielle Integrität">Referentielle Integrität</a></i></div> <p>Referenzielle Integrität bedeutet, dass Datensätze, die von anderen Datensätzen verwendet werden, in der Datenbank auch vollständig vorhanden sind. </p> <dl><dd>Im obigen Beispiel bedeutet dies, dass in der Teilnehmertabelle nur Matrikel-Nummern gespeichert sind, die es in der Studenten-Tabelle auch tatsächlich gibt.</dd></dl> <p>Diese wichtige Funktionalität kann (und sollte) bereits von der Datenbank überwacht werden, so dass zum Beispiel </p> <ul><li>nur vorhandene Matrikelnummern in die Teilnehmertabelle eingetragen werden können,</li> <li>der Versuch, den Datensatz eines Studenten, der schon eine Vorlesung belegt hat, zu <i>löschen</i>, entweder verhindert wird (Fehlermeldung) oder der Datensatz auch gleich aus der Teilnehmertabelle entfernt wird (Löschweitergabe) und</li> <li>der Versuch, die Matrikelnummer eines Studenten, der schon eine Vorlesung belegt hat, zu <i>ändern</i>, entweder verhindert wird (Fehlermeldung) oder der Eintrag in der Teilnehmertabelle gleich mitgeändert wird (Aktualisierungsweitergabe).</li></ul> <p>Widersprüchlichkeit von Daten wird allgemein als <a href="/wiki/Konsistenz_(Datenspeicherung)#Konsistenz_in_klassischen_relationalen_Datenbanken" title="Konsistenz (Datenspeicherung)">Dateninkonsistenz</a> bezeichnet. Diese besteht, wenn Daten bspw. die <a href="/wiki/Integrit%C3%A4tsbedingung" title="Integritätsbedingung">Integritätsbedingungen</a> (z. B. <a href="/wiki/Constraint" title="Constraint">Constraints</a> oder <a href="/wiki/Schl%C3%BCssel_(Datenbank)#Fremdschlüssel" title="Schlüssel (Datenbank)">Fremdschlüsselbeziehungen</a>) nicht erfüllen. </p><p>Ursachen für Dateninkonsistenzen können Fehler bei der Analyse des Datenmodells, fehlende <a href="/wiki/Normalisierung_(Datenbank)" title="Normalisierung (Datenbank)">Normalisierung</a> des <a href="/wiki/Entity-Relationship-Modell" title="Entity-Relationship-Modell">ERM</a> oder Fehler in der Programmierung sein. </p><p>Zum letzteren gehören die <i><a href="/wiki/Verlorene_Updates" class="mw-redirect" title="Verlorene Updates">Lost-Update</a></i>-Phänomene sowie die Verarbeitung von zwischenzeitlich veralteten Zwischenergebnissen. Dies tritt vor allem bei der Online-Verarbeitung auf, da dem Nutzer angezeigte Werte nicht in einer Transaktion gekapselt werden können. </p> <pre>Beispiel: Transaktion <i>A</i> liest Wert <i>x</i> Transaktion <i>B</i> verringert Wert <i>x</i> um 10 Transaktion <i>A</i> erhöht den gespeicherten Wert von <i>x</i> um eins und schreibt zurück Ergebnis x' = x+1 Die Änderung von <i>B</i> ist verloren gegangen </pre> <div class="mw-heading mw-heading2"><h2 id="SQL-Datentypen">SQL-Datentypen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=25" title="Abschnitt bearbeiten: SQL-Datentypen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=25" title="Quellcode des Abschnitts bearbeiten: SQL-Datentypen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/Datentypen" class="mw-redirect" title="Datentypen">Datentypen</a></i></div> <p>In den oben vorgestellten Befehlen <code>CREATE TABLE</code> und <code>ALTER TABLE</code> wird bei der Definition jeder Spalte angegeben, welchen <a href="/wiki/Datentyp" title="Datentyp">Datentyp</a> die Werte dieser Spalte annehmen können. Dazu liefert SQL eine ganze Reihe standardisierter Datentypen mit. Die einzelnen DBMS-Hersteller haben diese Liste jedoch um eine Unzahl weiterer Datentypen erweitert. Die wichtigsten Standarddatentypen sind: </p> <dl><dt><code>INTEGER</code></dt> <dd><a href="/wiki/Ganze_Zahl" title="Ganze Zahl">Ganze Zahl</a> (positiv oder negativ), wobei je nach Zahl der verwendeten Bits Bezeichnungen wie <code>SMALLINT</code>, <code>TINYINT</code> oder <code>BIGINT</code> verwendet werden. Die jeweiligen Grenzen und die verwendete Terminologie sind vom Datenbanksystem definiert.</dd> <dt><code>NUMERIC (n, m)</code> oder <code>DECIMAL (n, m)</code></dt> <dd><a href="/wiki/Festkommazahl" title="Festkommazahl">Festkommazahl</a> (positiv oder negativ) mit insgesamt maximal <code>n</code> Stellen, davon <code>m</code> Nachkommastellen. Wegen der hier erfolgenden Speicherung als Dezimalzahl ist eine besonders für Geldbeträge notwendige Genauigkeit gegeben.</dd> <dt><code>FLOAT (m)</code></dt> <dd><a href="/wiki/Gleitkommazahl" title="Gleitkommazahl">Gleitkommazahl</a> (positiv oder negativ) mit maximal <code>m</code> Nachkommastellen.</dd> <dt><code>REAL</code></dt> <dd><a href="/wiki/Gleitkommazahl" title="Gleitkommazahl">Gleitkommazahl</a> (positiv oder negativ). Die Genauigkeit für diesen Datentyp ist jeweils vom Datenbanksystem definiert.</dd> <dt><code>DOUBLE</code> oder <code>DOUBLE PRECISION</code></dt> <dd><a href="/wiki/Gleitkommazahl" title="Gleitkommazahl">Gleitkommazahl</a> (positiv oder negativ). Die Genauigkeit für diesen Datentyp ist jeweils vom Datenbanksystem definiert.</dd> <dt><code>FLOAT</code> und <code>DOUBLE</code></dt> <dd>sind für technisch-wissenschaftliche Werte geeignet und umfassen auch die Exponentialdarstellung. Wegen der Speicherung im Binärformat sind sie aber für Geldbeträge nicht geeignet, weil sich beispielsweise der Wert 0,10 € (entspricht 10 Cent) nicht exakt abbilden lässt.</dd> <dt><code>CHARACTER (n)</code> oder <code>CHAR (n)</code></dt> <dd><a href="/wiki/Zeichenkette" title="Zeichenkette">Zeichenkette</a> Text mit <code>n</code> Zeichen.</dd> <dt><code>VARCHAR (n)</code> oder <code>CHARACTER VARYING (n)</code></dt> <dd>Zeichenkette (also Text) von variabler Länge, aber maximal <code>n</code> druckbaren und/oder nicht druckbaren Zeichen. Die Variante <code>VARCHAR2</code> ist für <a href="/wiki/Oracle_(Datenbanksystem)" title="Oracle (Datenbanksystem)">Oracle</a> spezifisch, ohne dass sie sich tatsächlich unterscheidet.</dd> <dt><code>TEXT</code></dt> <dd>Zeichenkette (zumindest theoretisch) beliebiger Länge. In manchen Systemen synonym zu <code>CLOB</code>.</dd> <dt><code>DATE</code></dt> <dd>Datum (ohne Zeitangabe)</dd> <dt><code>TIME</code></dt> <dd>Zeitangabe (evtl. inklusive Zeitzone)</dd> <dt><code>TIMESTAMP</code></dt> <dd>Zeitstempel (umfasst Datum und Uhrzeit; evtl. inklusive Zeitzone), meistens mit Millisekundenauflösung, teilweise auch mikrosekundengenau</dd> <dt><code>BOOLEAN</code></dt> <dd><a href="/wiki/Boolesche_Variable" class="mw-redirect" title="Boolesche Variable">Boolesche Variable</a> (kann die Werte <code>true</code>(wahr) oder <code>false</code> (falsch) oder <code>NULL</code> (unbekannt) annehmen). Dieser Datentyp ist laut SQL:2003 optional und nicht alle DBMS stellen diesen Datentyp bereit.</dd> <dt><code><a href="/wiki/Binary_Large_Object" title="Binary Large Object">BLOB</a> (n)</code> oder <code>BINARY LARGE OBJECT (n)</code></dt> <dd>Binärdaten von maximal <code>n</code> <a href="/wiki/Byte" title="Byte">Bytes</a> Länge.</dd> <dt><code><a href="/wiki/Character_Large_Object" title="Character Large Object">CLOB</a> (n)</code> oder <code>CHARACTER LARGE OBJECT (n)</code></dt> <dd>Zeichenketten mit maximal <code>n</code> Zeichen Länge.</dd></dl> <p>Wenn es die Tabellendefinition erlaubt, können Attribute auch den Wert <code>NULL</code> annehmen, wenn kein Wert bekannt ist oder aus anderen Gründen kein Wert gespeichert werden soll. Der <code>NULL</code>-Wert ist von allen anderen möglichen Werten des Datentyps verschieden. </p> <div class="mw-heading mw-heading2"><h2 id="Transaktion,_Commit_und_Rollback"><span id="Transaktion.2C_Commit_und_Rollback"></span>Transaktion, Commit und Rollback</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=26" title="Abschnitt bearbeiten: Transaktion, Commit und Rollback" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=26" title="Quellcode des Abschnitts bearbeiten: Transaktion, Commit und Rollback"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/Transaktion_(Informatik)" title="Transaktion (Informatik)">Transaktion (Informatik)</a></i></div> <p>Eine Transaktion bezeichnet eine Menge von Datenbankänderungen, die zusammen ausgeführt werden (müssen). So ist beispielsweise die Buchung (als Transaktion) eines Geldbetrags durch zwei atomare Datenbankoperationen „Abbuchen des Geldbetrages von Konto A“ und „Buchung des Geldbetrages auf Konto B“ gekennzeichnet. Kann die vollständige Abarbeitung der elementaren Datenbankoperationen der Transaktion nicht durchgeführt werden (z. B. aufgrund eines Fehlers), müssen alle durchgeführten Änderungen an dem Datenbestand auf den Ausgangszustand zurückgesetzt werden. </p><p>Der Vorgang, der alle Änderungen einer Transaktion zurücksetzt, wird als Rollback bezeichnet. Der Begriff Commit bezeichnet das Ausführen einer Transaktion. Transaktionen sind eine Möglichkeit, die Konsistenz des Datenbestandes zu sichern. Im Beispiel der doppelten Kontenführung wird durch das Verhindern von ungültigen Teilbuchungen eine ausgeglichene Kontobilanz gewährleistet. </p><p>Datenbanken erlauben es zum Teil, bestimmte Befehle außerhalb einer Transaktion auszuführen. Darunter fällt insbesondere das Laden von Daten in Tabellen oder das Exportieren von Daten mittels Utilities. Manche <a href="/wiki/DBMS" class="mw-redirect" title="DBMS">DBMS</a> erlauben das temporäre Abschalten der Transaktionslogik sowie einiger Kontrollen zur Erhöhung der Verarbeitungsgeschwindigkeit. Dies muss allerdings meist durch einen expliziten Befehl erzwungen werden, um ein versehentliches Ändern von Daten außerhalb einer Transaktion zu vermeiden. Solche Änderungen können, falls eine Datenbankwiederherstellung erforderlich ist, zu schweren Problemen oder gar Datenverlusten führen. Eine Transaktion wird mit der SQL-Anweisung <code><a href="/wiki/Commit" title="Commit">COMMIT</a></code> beendet. Alle Änderungen der Transaktion werden <a href="/wiki/Persistenz_(Informatik)" title="Persistenz (Informatik)">persistent</a> gemacht, und das DBMS stellt durch geeignete (interne) Mittel (z. B. Logging) sicher, dass diese Änderungen nicht verloren gehen. </p><p>Mit dem Befehl <code><a href="/wiki/Rollback" title="Rollback">ROLLBACK</a></code> wird eine Transaktion ebenfalls beendet, es werden jedoch alle Änderungen seit Beginn der Transaktion rückgängig gemacht. Das heißt, der Zustand des Systems (in Bezug auf die Änderungen der Transaktion) ist der gleiche wie vor der Transaktion. </p> <div class="mw-heading mw-heading2"><h2 id="Programmieren_mit_SQL">Programmieren mit SQL</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=27" title="Abschnitt bearbeiten: Programmieren mit SQL" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=27" title="Quellcode des Abschnitts bearbeiten: Programmieren mit SQL"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Programmierschnittstelle">Programmierschnittstelle</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=28" title="Abschnitt bearbeiten: Programmierschnittstelle" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=28" title="Quellcode des Abschnitts bearbeiten: Programmierschnittstelle"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Das ursprüngliche SQL war keine <a href="/wiki/Turing-Vollst%C3%A4ndigkeit" title="Turing-Vollständigkeit">Turing-vollständige</a> <a href="/wiki/Programmiersprache" title="Programmiersprache">Programmiersprache</a>, es ermöglichte also nicht die Realisierung von beliebigen <a href="/wiki/Computerprogramm" title="Computerprogramm">Computerprogrammen</a>. Mittlerweile lässt es sich mit anderen Programmiersprachen kombinieren, um eine <a href="/wiki/Programmierung" title="Programmierung">Programmierung</a> im engeren Sinne zu ermöglichen. Hierfür gibt es unterschiedliche Techniken. </p> <ul><li>Mit <a href="/wiki/Embedded_SQL" title="Embedded SQL">Embedded SQL</a> können SQL-Anweisungen im Quelltext eines Programms, typischerweise in <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a>, <a href="/wiki/C%2B%2B" title="C++">C++</a>, <a href="/wiki/COBOL" title="COBOL">COBOL</a>, <a href="/wiki/Ada_(Programmiersprache)" title="Ada (Programmiersprache)">Ada</a>, <a href="/wiki/Pascal_(Programmiersprache)" title="Pascal (Programmiersprache)">Pascal</a> o. Ä. geschrieben, eingebettet werden. Während der Programmvorbereitung übersetzt ein <a href="/wiki/Precompiler" title="Precompiler">Precompiler</a> die SQL-Befehle in Funktionsaufrufe. Embedded SQL ist Teil des ANSI-SQL-Standards. Beispiele für Implementierungen: <a href="/wiki/SQLJ" title="SQLJ">SQLJ</a> für <a href="/wiki/Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a>, <a href="/wiki/Pro*C" title="Pro*C">Pro*C</a> für <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a>, C++, <a href="/wiki/ActiveX_Data_Objects" title="ActiveX Data Objects">ADO</a> und <a href="/wiki/ADO.NET" title="ADO.NET">ADO.NET</a>.</li> <li>Herkömmliche <i><a href="/wiki/Programmierschnittstelle" title="Programmierschnittstelle">Programmierschnittstellen</a></i> erlauben die direkte Übergabe von SQL-Befehlen an Datenbanksysteme über Funktionsaufrufe. Beispiele: <a href="/wiki/ODBC" class="mw-redirect" title="ODBC">ODBC</a>, <a href="/wiki/Java_Database_Connectivity" title="Java Database Connectivity">JDBC</a>, <a href="/wiki/ActiveX_Data_Objects" title="ActiveX Data Objects">ADO</a>.</li> <li><a href="/wiki/Persistenz_(Informatik)" title="Persistenz (Informatik)">Persistenz</a>-<a href="/wiki/Framework" title="Framework">Frameworks</a> wie etwa <a href="/wiki/Hibernate_(Framework)" title="Hibernate (Framework)">Hibernate</a> oder <a href="/wiki/IBATIS" class="mw-redirect" title="IBATIS">iBATIS</a> abstrahieren vom Datenbankzugriff und ermöglichen <a href="/wiki/Objektorientierte_Programmierung" title="Objektorientierte Programmierung">objektorientierte</a> Verarbeitung von relationalen Datenbanken in einer objektorientierten Programmiersprache (z. B. <a href="/wiki/Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> oder <a href="/wiki/C-Sharp" title="C-Sharp">C#</a>)</li> <li>Mit dem Teil 4 <i>SQL/PSM</i> des Standards werden Konstrukte wie IF-Blöcke und Schleifen bereitgestellt. Er wird in den Datenbanksystemen in unterschiedlicher Ausprägung und mit Hersteller-spezifischen Erweiterungen implementiert, z. B. <a href="/wiki/PL/SQL" title="PL/SQL">PL/SQL</a> in <a href="/wiki/Oracle_(Datenbanksystem)" title="Oracle (Datenbanksystem)">Oracle</a> oder <a href="/wiki/Transact-SQL" title="Transact-SQL">Transact-SQL</a> im <a href="/wiki/Microsoft_SQL_Server" title="Microsoft SQL Server">MS SQL Server</a>.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Statisches_und_dynamisches_SQL">Statisches und dynamisches SQL</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=29" title="Abschnitt bearbeiten: Statisches und dynamisches SQL" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=29" title="Quellcode des Abschnitts bearbeiten: Statisches und dynamisches SQL"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Unabhängig von der verwendeten Programmiertechnik wird zwischen <i>statischem</i> und <i>dynamischem</i> SQL unterschieden. </p> <ul><li>Bei <i>statischem SQL</i> ist die SQL-Anweisung dem Datenbanksystem zum Zeitpunkt der Programmübersetzung bekannt und festgelegt (z. B. wenn die Abfrage eines Kontos vorformuliert ist und zur Laufzeit nur die Kontonummer eingesetzt wird).</li> <li>Bei <i>dynamischem SQL</i> ist die SQL-Anweisung dem Datenbanksystem erst zum Zeitpunkt der Programmausführung bekannt (z. B. weil der Benutzer die komplette Abfrage eingibt). So sind z. B. alle SQL-Anweisungen, die mittels <a href="/w/index.php?title=SQL/CLI&action=edit&redlink=1" class="new" title="SQL/CLI (Seite nicht vorhanden)">SQL/CLI</a> oder <a href="/wiki/JDBC" class="mw-redirect" title="JDBC">JDBC</a> ausgeführt werden grundsätzlich dynamisch. Ausgeführt werden dynamische SQL-Anweisungen im Allgemeinen mit execute immediate (<i>SQL-String</i>).</li></ul> <p>Bei dynamischem SQL <i>muss</i> das Datenbanksystem die SQL-Anweisung zur Laufzeit des Programms interpretieren und den Zugriffspfad optimieren. Da dieser sogenannte Parse-Vorgang Zeit in Anspruch nimmt, puffern viele Datenbanksysteme die bereits geparsten SQL-Anweisungen, um mehrfaches Parsen gleicher Abfragen zu vermeiden. Bei statischem SQL <i>kann</i> schon bei der Übersetzung der Programme bzw. beim Binden der SQL-Anweisungen an eine Datenbank (sogenanntes <i>Bind</i> der SQL-Befehle) der optimale Zugriffsweg bestimmt werden. Damit sind kürzestmögliche Laufzeiten der Anwendungsprogramme möglich, allerdings muss der Zugriffsweg aller betroffenen Programme neu bestimmt werden, wenn sich Voraussetzungen (z. B. Statistiken) ändern (<i>Rebind</i>). Die <i>Bind</i>-Phase ist heute vor allem im <a href="/wiki/Gro%C3%9Frechner" title="Großrechner">Großrechner</a>-Umfeld bekannt, die meisten Datenbanksysteme optimieren hingegen zur Laufzeit. </p> <div class="mw-heading mw-heading2"><h2 id="Chronologie">Chronologie</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=30" title="Abschnitt bearbeiten: Chronologie" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=30" title="Quellcode des Abschnitts bearbeiten: Chronologie"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>etwa 1975: <i>SEQUEL</i> = <i>Structured English Query Language</i>, der Vorläufer von <i>SQL</i>, wird für das Projekt <a href="/wiki/System_R" class="mw-redirect" title="System R">System R</a> von <a href="/wiki/IBM" title="IBM">IBM</a> entwickelt.</li> <li>1979: <i>SQL</i> gelangt mit <i>Oracle V2</i> erstmals durch <i>Relational Software Inc.</i> auf den Markt.</li> <li>1986: <i>SQL1</i> wird von <a href="/wiki/American_National_Standards_Institute" title="American National Standards Institute">ANSI</a> als Standard verabschiedet.</li> <li>1987: <i>SQL1</i> wird von der <a href="/wiki/Internationale_Organisation_f%C3%BCr_Normung" title="Internationale Organisation für Normung">Internationalen Organisation für Normung</a> (ISO) als Standard verabschiedet und 1989 nochmals überarbeitet.</li> <li>1992: Der Standard <i>SQL2</i> oder <i>SQL-92</i> wird von der ISO verabschiedet.</li> <li>1999: <i>SQL3</i> oder <i>SQL:1999</i> wird verabschiedet. Im Rahmen dieser Überarbeitung werden weitere wichtige Features (wie etwa <a href="/wiki/Datenbanktrigger" title="Datenbanktrigger">Trigger</a> oder rekursive Abfragen) hinzugefügt.</li> <li>2003: <i>SQL:2003</i>. Als neue Features werden aufgenommen <a href="/wiki/SQL/XML" title="SQL/XML">SQL/XML</a>, Window functions, Sequences.</li> <li>2006: <i>SQL/XML:2006</i>. Erweiterungen für <a href="/wiki/SQL/XML" title="SQL/XML">SQL/XML</a><sup id="cite_ref-SQLXML2006_2-0" class="reference"><a href="#cite_note-SQLXML2006-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.</li> <li>2008: <i>SQL:2008</i> bzw. ISO/IEC 9075:2008. Als neue Features werden aufgenommen INSTEAD OF-Trigger, TRUNCATE-Statement und FETCH Klausel.</li> <li>2011: <i>SQL:2011</i> bzw. ISO/IEC 9075:2011. Als neue Features werden aufgenommen „Zeitbezogene Daten“ (PERIOD FOR). Es gibt Erweiterungen für Window functions und die FETCH-Klausel.</li> <li>2016: <i>SQL:2016</i> bzw. ISO/IEC 9075:2016. Als neue Features werden aufgenommen JSON und „row pattern matching“.</li> <li>2019: <i>SQL/MDA:2019</i>. Erweiterungen für einen Datentyp „mehrdimensionales Feld“.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Sprachstandard">Sprachstandard</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=31" title="Abschnitt bearbeiten: Sprachstandard" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=31" title="Quellcode des Abschnitts bearbeiten: Sprachstandard"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ziel der Standardisierung ist es, <a href="/wiki/Anwendungsprogramm" class="mw-redirect" title="Anwendungsprogramm">Anwendungsprogramme</a> so erstellen zu können, dass sie vom verwendeten Datenbanksystem unabhängig sind. Heutige Datenbanksysteme <a href="/wiki/Implementierung" title="Implementierung">implementieren</a> mehr oder weniger große Teile des Sprachstandards. Darüber hinaus stellen sie oftmals herstellerspezifische Erweiterungen bereit, die nicht dem Standard-Sprachumfang entsprechen. In der Vor-SQL-Zeit strebte man die Portabilität von Anwendungen über die <a href="/wiki/Kompatible_Schnittstellen" title="Kompatible Schnittstellen">kompatible Schnittstelle</a> an. </p><p>Der Standard besteht insgesamt aus zehn einzelnen Publikationen:<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p> <ul><li>ISO/IEC 9075-1:2016 Part 1: Framework (SQL/Framework)</li> <li>ISO/IEC 9075-2:2016 Part 2: Foundation (SQL/Foundation)</li> <li>ISO/IEC 9075-3:2016 Part 3: Call-Level Interface (SQL/CLI)</li> <li>ISO/IEC 9075-4:2016 Part 4: Persistent stored modules (SQL/PSM)</li> <li>ISO/IEC 9075-9:2016 Part 9: Management of External Data (SQL/MED)</li> <li>ISO/IEC 9075-10:2016 Part 10: Object language bindings (<a href="/wiki/SQLJ" title="SQLJ">SQL/OLB</a>)</li> <li>ISO/IEC 9075-11:2016 Part 11: Information and definition schemas (SQL/Schemata)</li> <li>ISO/IEC 9075-13:2016 Part 13: SQL Routines and types using the Java TM programming language (<a href="/wiki/SQLJ" title="SQLJ">SQL/JRT</a>)</li> <li>ISO/IEC 9075-14:2016 Part 14: XML-Related Specifications (<a href="/wiki/SQL/XML" title="SQL/XML">SQL/XML</a>)</li> <li>ISO/IEC 9075-15:2019 Part 15: Multi-dimensional arrays (SQL/MDA)</li></ul> <p>Ein weiterer Teil befindet sich derzeit (2019) in Entwicklung: </p> <ul><li>ISO/IEC 9075-16:20xx Part 16: Property Graph Queries (SQL/PGQ)</li></ul> <p>Der Standard wird durch sechs, ebenfalls standardisierte <i>SQL multimedia and application packages</i> ergänzt: </p> <ul><li>ISO/IEC 13249-1:2016 Part 1: Framework</li> <li>ISO/IEC 13249-2:2003 Part 2: Full-Text</li> <li>ISO/IEC 13249-3:2016 Part 3: Spatial</li> <li>ISO/IEC 13249-5:2003 Part 5: Still image</li> <li>ISO/IEC 13249-6:2006 Part 6: Data mining</li> <li>ISO/IEC 13249-7:2013 Part 7: History</li></ul> <p>Weiterhin existieren eine Reihe Technical Reports, die eine Einführung zu den einzelnen Themen bieten. </p> <ul><li>ISO/IEC TR 19075-1:2011 Part 1: XQuery Regular Expression Support in SQL <a rel="nofollow" class="external text" href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c041528_ISO_IEC_TR_19075-1_2011.zip">Download</a></li> <li>ISO/IEC TR 19075-2:2015 Part 2: SQL Support for Time-Related Information <a rel="nofollow" class="external text" href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c060394_ISO_IEC_TR_19075-2_2015.zip">Download</a></li> <li>ISO/IEC TR 19075-3:2015 Part 3: SQL Embedded in Programs using the JavaTM programming language <a rel="nofollow" class="external text" href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c065141_ISO_IEC_TR_19075-3_2015.zip">Download</a></li> <li>ISO/IEC TR 19075-4:2015 Part 4: SQL with Routines and types using the JavaTM programming language <a rel="nofollow" class="external text" href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c065142_ISO_IEC_TR_19075-4_2015.zip">Download</a></li> <li>ISO/IEC TR 19075-5:2016 Part 5: Row Pattern Recognition in SQL <a rel="nofollow" class="external text" href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c065143_ISO_IEC_TR_19075-5_2016.zip">Download</a></li> <li>ISO/IEC TR 19075-6:2017 Part 6: SQL support for JavaScript Object Notation (JSON) <a rel="nofollow" class="external text" href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip">Download</a></li> <li>ISO/IEC TR 19075-7:2017 Part 7: Polymorphic table functions in SQL <a rel="nofollow" class="external text" href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c069776_ISO_IEC_TR_19075-7_2017.zip">Download</a></li> <li>ISO/IEC TR 19075-8:2019 Part 8: Multi-dimensional arrays (SQL/MDA) (wurde zurückgezogen<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>)</li></ul> <p>Ein weiterer Teil befindet sich derzeit (2019) in Entwicklung: </p> <ul><li>ISO/IEC TR 19075-9:20xx Part 9: Online Analytic Processing (OLAP) capabilities</li></ul> <p>Der offizielle Standard ist nicht frei verfügbar, jedoch existiert ein Zip-Archiv mit einer Arbeitsversion von 2008.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Die Technical Reports sind kostenlos von ISO erhältlich. </p> <div class="mw-heading mw-heading2"><h2 id="Erweiterungen">Erweiterungen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=32" title="Abschnitt bearbeiten: Erweiterungen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=32" title="Quellcode des Abschnitts bearbeiten: Erweiterungen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die beiden ersten Teile des SQL Standards <i>SQL/Framework</i> und <i>SQL/Foundation</i> legen die Kernfunktionalitäten fest. In den weiteren Teilen werden spezifische Aspekte der Sprache definiert. </p> <ul><li>Teil 4: Bei <i>SQL/PSM</i> handelt es sich um die Erweiterung um prozedurale Konstrukte. Sie ermöglichen unter anderem das Programmieren von Schleifen (FOR, WHILE, REPEAT UNTIL, LOOP), Cursorn, Exception-Handling, Triggern und eigenen Funktionen. Oracle implementiert diese Funktionalität unter dem Namen <i><a href="/wiki/PL/SQL" title="PL/SQL">PL/SQL</a></i>, DB2 verwendet den Begriff <i><a href="/w/index.php?title=SQL/PL&action=edit&redlink=1" class="new" title="SQL/PL (Seite nicht vorhanden)">SQL/PL</a></i>, PostgreSQL nennt es <i><a href="/wiki/PL/pgSQL" title="PL/pgSQL">PL/pgSQL</a></i>.</li> <li>Teil 14: <i><a href="/wiki/SQL/XML" title="SQL/XML">SQL/XML</a></i> ermöglicht es, <a href="/wiki/Extensible_Markup_Language" title="Extensible Markup Language">XML</a>-Dokumente in SQL-Datenbanken zu speichern, mit <a href="/wiki/XPath" title="XPath">XPath</a> in SQL/XML:2003 und <a href="/wiki/XQuery" title="XQuery">XQuery</a> ab SQL/XML:2006 abzufragen und relationale Datenbankinhalte als XML zu exportieren. Um die ursprünglichen Arbeiten an diesem Teil des Standards zu beschleunigen, hatte sich im Jahr 2000 eine informelle Arbeitsgruppe gebildet (IBM, Oracle, …), die unter dem Namen <i>The SQLX Group</i> und unter der Bezeichnung <i>SQLX</i> die Kernfunktionalitäten festlegte. Deren Arbeit ist in den jetzigen Standard eingeflossen.</li></ul> <p>Als Ergänzung zum SQL-Standard existiert mit <i>ISO/IEC 13249: SQL multimedia and application packages</i> eine Norm, die für die Anwendungsfälle <i>Text</i>, <i>Geografische Daten</i>, <i>Bilder</i>, <i>Data mining</i> und <i>Metadaten</i> spezialisierte Schnittstellen in SQL Syntax festlegt. </p> <div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=33" title="Abschnitt bearbeiten: Literatur" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=33" title="Quellcode des Abschnitts bearbeiten: Literatur"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Donald D. Chamberlin, Raymond F. Boyce: <i>SEQUEL: A Structured English Query Language</i>. In: <i>SIGMOD Workshop.</i> Vol. 1 1974, S. 249–264.</li> <li>Donald D. Chamberlin, Morton M. Astrahan, Kapali P. Eswaran, Patricia P. Griffiths, Raymond A. Lorie, James W. Mehl, Phyllis Reisner, Bradford W. Wade: <i>SEQUEL 2: A Unified Approach to Data Definition, Manipulation, and Control</i>. In: <i>IBM Journal of Research and Development.</i> 20(6) 1976, S. 560–575.</li> <li>Günter Matthiessen, Michael Unterstein: <i>Relationale Datenbanken und SQL in Theorie und Praxis</i> Springer Vieweg, <a href="/wiki/Spezial:ISBN-Suche/9783642289859" class="internal mw-magiclink-isbn">ISBN 978-3-642-28985-9</a>.</li> <li>Edwin Schicker: <i>Datenbanken und SQL – Eine praxisorientierte Einführung.</i> Teubner, <a href="/wiki/Spezial:ISBN-Suche/351902991X" class="internal mw-magiclink-isbn">ISBN 3-519-02991-X</a>.</li> <li>Oliver Bartosch, Markus Throll: <i>Einstieg in SQL.</i> Galileo Press, <a href="/wiki/Spezial:ISBN-Suche/3898424979" class="internal mw-magiclink-isbn">ISBN 3-89842-497-9</a>.</li> <li>Daniel Warner, Günter Leitenbauer: <i>SQL.</i> Franzis, <a href="/wiki/Spezial:ISBN-Suche/3772375278" class="internal mw-magiclink-isbn">ISBN 3-7723-7527-8</a>.</li> <li>H. Faeskorn-Woyke, B. Bertelsmeier, P. Riemer, E. Bauer: <i>Datenbanksysteme, Theorie und Praxis mit SQL2003, Oracle und MySQL.</i> Pearson-Studium, <a href="/wiki/Spezial:ISBN-Suche/9783827372666" class="internal mw-magiclink-isbn">ISBN 978-3-8273-7266-6</a>.</li> <li>Jörg Fritze, Jürgen Marsch: <i>Erfolgreiche Datenbankanwendung mit SQL3. Praxisorientierte Anleitung – effizienter Einsatz – inklusive SQL-Tuning.</i> Vieweg Verlag, <a href="/wiki/Spezial:ISBN-Suche/3528552107" class="internal mw-magiclink-isbn">ISBN 3-528-55210-7</a>.</li> <li>Can Türker: <i>SQL 1999 & SQL 2003.</i> Dpunkt Verlag, <a href="/wiki/Spezial:ISBN-Suche/3898642194" class="internal mw-magiclink-isbn">ISBN 3-89864-219-4</a>.</li> <li>Gregor Kuhlmann, Friedrich Müllmerstadt: <i>SQL.</i> Rowohlt, <a href="/wiki/Spezial:ISBN-Suche/3499612453" class="internal mw-magiclink-isbn">ISBN 3-499-61245-3</a>.</li> <li>Michael J. Hernandez, John L. Viescas: <i>Go To SQL.</i> Addison-Wesley, <a href="/wiki/Spezial:ISBN-Suche/382731772X" class="internal mw-magiclink-isbn">ISBN 3-8273-1772-X</a>.</li> <li><a href="/wiki/Alfons_Kemper" title="Alfons Kemper">A. Kemper</a>, A. Eickler: <i>Datenbanksysteme – Eine Einführung.</i> Oldenbourg, <a href="/wiki/Spezial:ISBN-Suche/3486250531" class="internal mw-magiclink-isbn">ISBN 3-486-25053-1</a>.</li> <li>Marcus Throll, Oliver Bartosch: <i>Einstieg in SQL 2008.</i> 2. Auflage. Galileo Computing, <a href="/wiki/Spezial:ISBN-Suche/9783836210393" class="internal mw-magiclink-isbn">ISBN 978-3-8362-1039-3</a> inklusive Übungssoftware SQL-Teacher</li> <li>Marco Skulschus: <i>SQL und relationale Datenbanken</i> Comelio Medien, <a href="/wiki/Spezial:ISBN-Suche/9783939701118" class="internal mw-magiclink-isbn">ISBN 978-3-939701-11-8</a>.</li> <li>Michael Wagner: <i>SQL/XML:2006 – Evaluierung der Standardkonformität ausgewählter Datenbanksysteme</i> 1. Auflage. Diplomica Verlag, <a href="/wiki/Spezial:ISBN-Suche/3836696096" class="internal mw-magiclink-isbn">ISBN 3-8366-9609-6</a>.</li> <li>Christian F. G. Schendera: <i>SQL mit SAS. Band 1: PROC SQL für Einsteiger</i>. Oldenbourg Wissenschaftsverlag, München 2011, <a href="/wiki/Spezial:ISBN-Suche/9783486598407" class="internal mw-magiclink-isbn">ISBN 978-3-486-59840-7</a>.</li> <li>Christian F. G. Schendera: <i>SQL mit SAS. Band 2: Fortgeschrittenes PROC SQL</i>. Oldenbourg Wissenschaftsverlag, München 2012, <a href="/wiki/Spezial:ISBN-Suche/9783486598360" class="internal mw-magiclink-isbn">ISBN 978-3-486-59836-0</a>.</li> <li><a href="/wiki/Christopher_J._Date" title="Christopher J. Date">C. J. Date</a>, <a href="/wiki/Hugh_Darwen" title="Hugh Darwen">Hugh Darwen</a>: <i>A Guide to the SQL standard: a users guide to the standard database language SQL, 4th ed.</i>, Addison-Wesley, USA 1997, <a href="/wiki/Spezial:ISBN-Suche/9780201964264" class="internal mw-magiclink-isbn">ISBN 978-0-201-96426-4</a></li> <li>Jim Melton: <i>Advanced SQL:1999: Understanding Object-Relational and Other Advanced Features, 1st ed.</i>, Morgan Kaufmann, USA, 2002, <a href="/wiki/Spezial:ISBN-Suche/9781558606777" class="internal mw-magiclink-isbn">ISBN 978-1558606777</a>.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=34" title="Abschnitt bearbeiten: Weblinks" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=34" title="Quellcode des Abschnitts bearbeiten: Weblinks"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="sisterproject" style="margin:0.1em 0 0 0;"><div class="noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Wikibooks"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/16px-Wikibooks-logo.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/24px-Wikibooks-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/32px-Wikibooks-logo.svg.png 2x" data-file-width="300" data-file-height="300" /></span></span></div><b><a href="https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL" class="extiw" title="b:Einführung in SQL">Wikibooks: SQL</a></b> – Lern- und Lehrmaterialien</div> <ul><li><a rel="nofollow" class="external text" href="https://www.youtube.com/playlist?list=PLC4UZxBVGKte0o6iUssqQVmXhryrOqPXi">Erklärvideos zu SQL</a>, Big Data Analytics Group, Uni Saarland</li> <li><a rel="nofollow" class="external text" href="https://curlie.org/World/Deutsch/Computer/Programmieren/Sprachen/SQL/">Linkkatalog zum Thema SQL</a> bei <i>curlie.org</i> (ehemals <a href="/wiki/DMOZ" title="DMOZ">DMOZ</a>)</li> <li><a rel="nofollow" class="external text" href="http://www.torsten-horn.de/techdocs/sql.htm">SQL-Grundlagen</a> – Einführung mit Beispielen und Vergleich diverser Datenbanken</li> <li><a rel="nofollow" class="external text" href="https://esb-dev.github.io/mat/sql-merkblatt.pdf">Merkblatt SQL</a></li> <li><a rel="nofollow" class="external text" href="http://www.mcjones.org/System_R/SQL_Reunion_95/">The 1995 SQL Reunion: People, Projects, and Politics</a> – zur frühen Geschichte von SQL (englisch)</li> <li><a rel="nofollow" class="external text" href="http://www.wiscorp.com/SQLStandards.html">Frei verfügbare SQL-Standard-Dokumente</a>, z. B. SQL:2003 und SQL:2008 (englisch)</li> <li><a rel="nofollow" class="external text" href="http://www.1keydata.com/de/sql/">SQL-Tutorial</a></li> <li><a rel="nofollow" class="external text" href="http://sqltutor.fsv.cvut.cz/cgi-bin/sqltutor">GNU SQLTutor</a></li> <li><a rel="nofollow" class="external text" href="https://sqlcoach.informatik.hs-kl.de/sqlcoach/">SQLcoach</a> – Freies Üben von SQL</li> <li><a rel="nofollow" class="external text" href="https://edb2.gm.th-koeln.de/apps/sqltrainer/">Interaktiver SQL-Trainer (Anmeldung notwendig)</a></li> <li><a rel="nofollow" class="external text" href="https://blog.homepage-webhilfe.de/Artikel/mysql-tutorial-fuer-anfaenger/">Blogbeitrag zu SQL-Befehlen und deren Einsatz in PHP</a></li> <li><a rel="nofollow" class="external text" href="http://sql-tuning.com/">SQL Tuning</a></li> <li><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-ver15">Transact-SQL Reference (Database Engine)</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=35" title="Abschnitt bearbeiten: Siehe auch" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=35" title="Quellcode des Abschnitts bearbeiten: Siehe auch"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Data_Manipulation_Language" title="Data Manipulation Language">Data Manipulation Language</a></li> <li><a href="/wiki/Data_Definition_Language" title="Data Definition Language">Data Definition Language</a></li> <li><a href="/wiki/Data_Control_Language" title="Data Control Language">Data Control Language</a></li> <li><a href="/wiki/Transaction_Control_Language" title="Transaction Control Language">Transaction Control Language</a></li> <li><a href="/wiki/SQL-Injection" title="SQL-Injection">SQL-Injection</a></li> <li><a href="/wiki/SchemaSQL" title="SchemaSQL">SchemaSQL</a></li> <li><a href="/wiki/Continuous_Query_Language" title="Continuous Query Language">Continuous Query Language</a></li> <li><a href="/wiki/Liste_der_Datenbankmanagementsysteme" title="Liste der Datenbankmanagementsysteme">Liste der Datenbankmanagementsysteme</a></li> <li><a href="/wiki/Bereichsabfrage" title="Bereichsabfrage">Bereichsabfrage</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=SQL&veaction=edit&section=36" title="Abschnitt bearbeiten: Einzelnachweise" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=SQL&action=edit&section=36" title="Quellcode des Abschnitts bearbeiten: Einzelnachweise"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.mcjones.org/System_R/SQL_Reunion_95/sqlr95-System.html"><i>Diskussion über System R und zur Namensänderung von SEQUEL zu SQL</i></a></span> </li> <li id="cite_note-SQLXML2006-2"><span class="mw-cite-backlink"><a href="#cite_ref-SQLXML2006_2-0">↑</a></span> <span class="reference-text">Michael Wagner: <cite style="font-style:italic">SQL/XML:2006 – Evaluierung der Standardkonformität ausgewählter Datenbanksysteme</cite>. Diplomica Verlag, 2010, <a href="/wiki/Spezial:ISBN-Suche/3836696096" class="internal mw-magiclink-isbn">ISBN 3-8366-9609-6</a>, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>100</span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:SQL&rft.au=Michael+Wagner&rft.btitle=SQL%2FXML%3A2006+-+Evaluierung+der+Standardkonformit%C3%A4t+ausgew%C3%A4hlter+Datenbanksysteme&rft.date=2010&rft.genre=book&rft.isbn=3836696096&rft.pages=100&rft.pub=Diplomica+Verlag" style="display:none"> </span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.iso.org/committee/45342/x/catalogue/p/1/u/0/w/0/d/0"><i>ISO/IEC 9075 und 13249.</i></a> International Organization for Standardization,<span class="Abrufdatum"> abgerufen am 20. September 2018</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ASQL&rft.title=ISO%2FIEC+9075+und+13249&rft.description=ISO%2FIEC+9075+und+13249&rft.identifier=https%3A%2F%2Fwww.iso.org%2Fcommittee%2F45342%2Fx%2Fcatalogue%2Fp%2F1%2Fu%2F0%2Fw%2F0%2Fd%2F0&rft.publisher=International+Organization+for+Standardization&rft.language=en"> </span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/06/97/69777.html"><i>ISO/IEC TR 19075-8:2019.</i></a> In: <i>iso.org.</i><span class="Abrufdatum"> Abgerufen am 24. August 2022</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ASQL&rft.title=ISO%2FIEC+TR+19075-8%3A2019&rft.description=ISO%2FIEC+TR+19075-8%3A2019&rft.identifier=https%3A%2F%2Fwww.iso.org%2Fcms%2Frender%2Flive%2Fen%2Fsites%2Fisoorg%2Fcontents%2Fdata%2Fstandard%2F06%2F97%2F69777.html&rft.language=en"> </span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.wiscorp.com/sql200n.zip">Arbeitsversion des Standards von 2008</a> (<a href="/wiki/ZIP-Dateiformat" title="ZIP-Dateiformat">ZIP</a>; 12,7 MB)</span> </li> </ol> <div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable normdaten-typ-s" style="border-style: solid; border-width: 1px; clear: left; margin-bottom:1em; margin-top:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="normdaten"> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div> Normdaten (Sachbegriff): <a href="/wiki/Gemeinsame_Normdatei" title="Gemeinsame Normdatei">GND</a>: <span class="plainlinks-print"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4134010-3">4134010-3</a></span> <span class="noprint">(<a rel="nofollow" class="external text" href="https://lobid.org/gnd/4134010-3">lobid</a>, <a rel="nofollow" class="external text" href="https://swb.bsz-bw.de/DB=2.104/SET=1/TTL=1/CMD?retrace=0&trm_old=&ACT=SRCHA&IKT=2999&SRT=RLV&TRM=4134010-3">OGND</a><span class="metadata">, <a rel="nofollow" class="external text" href="https://prometheus.lmu.de/gnd/4134010-3">AKS</a></span>)</span> | <a href="/wiki/Library_of_Congress_Control_Number" title="Library of Congress Control Number">LCCN</a>: <span class="plainlinks-print"><a rel="nofollow" class="external text" href="https://lccn.loc.gov/sh86006628">sh86006628</a></span> <span class="metadata"></span></div> </div></div></div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Abgerufen von „<a dir="ltr" href="https://de.wikipedia.org/w/index.php?title=SQL&oldid=248769149">https://de.wikipedia.org/w/index.php?title=SQL&oldid=248769149</a>“</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Wikipedia:Kategorien" title="Wikipedia:Kategorien">Kategorien</a>: <ul><li><a href="/wiki/Kategorie:Datenbanksprache" title="Kategorie:Datenbanksprache">Datenbanksprache</a></li><li><a href="/wiki/Kategorie:SQL" title="Kategorie:SQL">SQL</a></li><li><a href="/wiki/Kategorie:Abk%C3%BCrzung" title="Kategorie:Abkürzung">Abkürzung</a></li><li><a href="/wiki/Kategorie:Programmiersprache_mit_einem_ISO-Standard" title="Kategorie:Programmiersprache mit einem ISO-Standard">Programmiersprache mit einem ISO-Standard</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigationsmenü</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Meine Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anonuserpage" class="mw-list-item"><span title="Benutzerseite der IP-Adresse, von der aus du Änderungen durchführst">Nicht angemeldet</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Spezial:Meine_Diskussionsseite" title="Diskussion über Änderungen von dieser IP-Adresse [n]" accesskey="n"><span>Diskussionsseite</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Spezial:Meine_Beitr%C3%A4ge" title="Eine Liste der Bearbeitungen, die von dieser IP-Adresse gemacht wurden [y]" accesskey="y"><span>Beiträge</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Spezial:Benutzerkonto_anlegen&returnto=SQL" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich."><span>Benutzerkonto erstellen</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Spezial:Anmelden&returnto=SQL" title="Anmelden ist zwar keine Pflicht, wird aber gerne gesehen. [o]" accesskey="o"><span>Anmelden</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namensräume</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/SQL" title="Seiteninhalt anzeigen [c]" accesskey="c"><span>Artikel</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Diskussion:SQL" rel="discussion" title="Diskussion zum Seiteninhalt [t]" accesskey="t"><span>Diskussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Deutsch</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Ansichten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/SQL"><span>Lesen</span></a></li><li id="ca-ve-edit" class="mw-list-item"><a href="/w/index.php?title=SQL&veaction=edit" title="Diese Seite mit dem VisualEditor bearbeiten [v]" accesskey="v"><span>Bearbeiten</span></a></li><li id="ca-edit" class="collapsible mw-list-item"><a href="/w/index.php?title=SQL&action=edit" title="Den Quelltext dieser Seite bearbeiten [e]" accesskey="e"><span>Quelltext bearbeiten</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=SQL&action=history" title="Frühere Versionen dieser Seite [h]" accesskey="h"><span>Versionsgeschichte</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="Weitere Optionen" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Weitere</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <h3 >Suche</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Wikipedia durchsuchen" aria-label="Wikipedia durchsuchen" autocapitalize="sentences" title="Durchsuche die Wikipedia [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Spezial:Suche"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Suche nach Seiten, die diesen Text enthalten" value="Suchen"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Gehe direkt zu der Seite mit genau diesem Namen, falls sie vorhanden ist." value="Artikel"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Wikipedia:Hauptseite" title="Hauptseite"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigation</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikipedia:Hauptseite" title="Hauptseite besuchen [z]" accesskey="z"><span>Hauptseite</span></a></li><li id="n-topics" class="mw-list-item"><a href="/wiki/Portal:Wikipedia_nach_Themen"><span>Themenportale</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Spezial:Zuf%C3%A4llige_Seite" title="Zufällige Seite aufrufen [x]" accesskey="x"><span>Zufälliger Artikel</span></a></li> </ul> </div> </nav> <nav id="p-Mitmachen" class="mw-portlet mw-portlet-Mitmachen vector-menu-portal portal vector-menu" aria-labelledby="p-Mitmachen-label" > <h3 id="p-Mitmachen-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Mitmachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Artikel-verbessern" class="mw-list-item"><a href="/wiki/Wikipedia:Beteiligen"><span>Artikel verbessern</span></a></li><li id="n-Neuerartikel" class="mw-list-item"><a href="/wiki/Hilfe:Neuen_Artikel_anlegen"><span>Neuen Artikel anlegen</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Autorenportal" title="Info-Zentrum über Beteiligungsmöglichkeiten"><span>Autorenportal</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Hilfe:%C3%9Cbersicht" title="Übersicht über Hilfeseiten"><span>Hilfe</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in Wikipedia [r]" accesskey="r"><span>Letzte Änderungen</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikipedia:Kontakt" title="Kontaktmöglichkeiten"><span>Kontakt</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_de.wikipedia.org&uselang=de" title="Unterstütze uns"><span>Spenden</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Spezial:Linkliste/SQL" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j"><span>Links auf diese Seite</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Spezial:%C3%84nderungen_an_verlinkten_Seiten/SQL" rel="nofollow" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k"><span>Änderungen an verlinkten Seiten</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Spezial:Spezialseiten" title="Liste aller Spezialseiten [q]" accesskey="q"><span>Spezialseiten</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=SQL&oldid=248769149" title="Dauerhafter Link zu dieser Seitenversion"><span>Permanenter Link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=SQL&action=info" title="Weitere Informationen über diese Seite"><span>Seiteninformationen</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Spezial:Zitierhilfe&page=SQL&id=248769149&wpFormIdentifier=titleform" title="Hinweise, wie diese Seite zitiert werden kann"><span>Artikel zitieren</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Spezial:URL-K%C3%BCrzung&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FSQL"><span>Kurzlink</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Spezial:QrCode&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FSQL"><span>QR-Code herunterladen</span></a></li> </ul> </div> </nav> <nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu-portal portal vector-menu" aria-labelledby="p-coll-print_export-label" > <h3 id="p-coll-print_export-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Drucken/exportieren</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Spezial:DownloadAsPdf&page=SQL&action=show-download-screen"><span>Als PDF herunterladen</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=SQL&printable=yes" title="Druckansicht dieser Seite [p]" accesskey="p"><span>Druckversion</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Projekten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Structured_Query_Language" hreflang="en"><span>Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL" hreflang="de"><span>Wikibooks</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiversity mw-list-item"><a href="https://de.wikiversity.org/wiki/Kurs:Wirtschaftsinformatik_SS09_Datenbankmanagementsysteme/Teil_2/_SQL-Theorie" hreflang="de"><span>Wikiversity</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q47607" title="Link zum verbundenen Objekt im Datenrepositorium [g]" accesskey="g"><span>Wikidata-Datenobjekt</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Sprachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-als mw-list-item"><a href="https://als.wikipedia.org/wiki/SQL" title="SQL – Schweizerdeutsch" lang="gsw" hreflang="gsw" data-title="SQL" data-language-autonym="Alemannisch" data-language-local-name="Schweizerdeutsch" class="interlanguage-link-target"><span>Alemannisch</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%84%D8%BA%D8%A9_%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D8%B9%D9%84%D8%A7%D9%85%D8%A7%D8%AA_%D8%A7%D9%84%D9%85%D9%87%D9%8A%D9%83%D9%84%D8%A9" title="لغة الاستعلامات المهيكلة – Arabisch" lang="ar" hreflang="ar" data-title="لغة الاستعلامات المهيكلة" data-language-autonym="العربية" data-language-local-name="Arabisch" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/SQL" title="SQL – Asturisch" lang="ast" hreflang="ast" data-title="SQL" data-language-autonym="Asturianu" data-language-local-name="Asturisch" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/SQL" title="SQL – Aserbaidschanisch" lang="az" hreflang="az" data-title="SQL" data-language-autonym="Azərbaycanca" data-language-local-name="Aserbaidschanisch" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bar mw-list-item"><a href="https://bar.wikipedia.org/wiki/SQL" title="SQL – Bairisch" lang="bar" hreflang="bar" data-title="SQL" data-language-autonym="Boarisch" data-language-local-name="Bairisch" class="interlanguage-link-target"><span>Boarisch</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/SQL" title="SQL – Belarussisch" lang="be" hreflang="be" data-title="SQL" data-language-autonym="Беларуская" data-language-local-name="Belarussisch" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/SQL" title="SQL – Weißrussisch (Taraschkewiza)" lang="be-tarask" hreflang="be-tarask" data-title="SQL" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Weißrussisch (Taraschkewiza)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/SQL" title="SQL – Bulgarisch" lang="bg" hreflang="bg" data-title="SQL" data-language-autonym="Български" data-language-local-name="Bulgarisch" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%8F%E0%A6%B8%E0%A6%95%E0%A6%BF%E0%A6%89%E0%A6%8F%E0%A6%B2" title="এসকিউএল – Bengalisch" lang="bn" hreflang="bn" data-title="এসকিউএল" data-language-autonym="বাংলা" data-language-local-name="Bengalisch" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-br mw-list-item"><a href="https://br.wikipedia.org/wiki/SQL" title="SQL – Bretonisch" lang="br" hreflang="br" data-title="SQL" data-language-autonym="Brezhoneg" data-language-local-name="Bretonisch" class="interlanguage-link-target"><span>Brezhoneg</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/SQL" title="SQL – Bosnisch" lang="bs" hreflang="bs" data-title="SQL" data-language-autonym="Bosanski" data-language-local-name="Bosnisch" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Katalanisch" lang="ca" hreflang="ca" data-title="Structured Query Language" data-language-autonym="Català" data-language-local-name="Katalanisch" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cdo mw-list-item"><a href="https://cdo.wikipedia.org/wiki/SQL" title="SQL – Min Dong" lang="cdo" hreflang="cdo" data-title="SQL" data-language-autonym="閩東語 / Mìng-dĕ̤ng-ngṳ̄" data-language-local-name="Min Dong" class="interlanguage-link-target"><span>閩東語 / Mìng-dĕ̤ng-ngṳ̄</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/SQL" title="SQL – Tschechisch" lang="cs" hreflang="cs" data-title="SQL" data-language-autonym="Čeština" data-language-local-name="Tschechisch" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/SQL" title="SQL – Walisisch" lang="cy" hreflang="cy" data-title="SQL" data-language-autonym="Cymraeg" data-language-local-name="Walisisch" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Dänisch" lang="da" hreflang="da" data-title="Structured Query Language" data-language-autonym="Dansk" data-language-local-name="Dänisch" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/SQL" title="SQL – Griechisch" lang="el" hreflang="el" data-title="SQL" data-language-autonym="Ελληνικά" data-language-local-name="Griechisch" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/SQL" title="SQL – Englisch" lang="en" hreflang="en" data-title="SQL" data-language-autonym="English" data-language-local-name="Englisch" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/SQL" title="SQL – Esperanto" lang="eo" hreflang="eo" data-title="SQL" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/SQL" title="SQL – Spanisch" lang="es" hreflang="es" data-title="SQL" data-language-autonym="Español" data-language-local-name="Spanisch" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Struktuurp%C3%A4ringukeel" title="Struktuurpäringukeel – Estnisch" lang="et" hreflang="et" data-title="Struktuurpäringukeel" data-language-autonym="Eesti" data-language-local-name="Estnisch" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/SQL" title="SQL – Baskisch" lang="eu" hreflang="eu" data-title="SQL" data-language-autonym="Euskara" data-language-local-name="Baskisch" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%A7%D8%B3%E2%80%8C%DA%A9%DB%8C%D9%88%D8%A7%D9%84" title="اسکیوال – Persisch" lang="fa" hreflang="fa" data-title="اسکیوال" data-language-autonym="فارسی" data-language-local-name="Persisch" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/SQL" title="SQL – Finnisch" lang="fi" hreflang="fi" data-title="SQL" data-language-autonym="Suomi" data-language-local-name="Finnisch" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Französisch" lang="fr" hreflang="fr" data-title="Structured Query Language" data-language-autonym="Français" data-language-local-name="Französisch" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Teanga_Strucht%C3%BArtha_Iarratas" title="Teanga Struchtúrtha Iarratas – Irisch" lang="ga" hreflang="ga" data-title="Teanga Struchtúrtha Iarratas" data-language-autonym="Gaeilge" data-language-local-name="Irisch" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/SQL" title="SQL – Galicisch" lang="gl" hreflang="gl" data-title="SQL" data-language-autonym="Galego" data-language-local-name="Galicisch" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-hak mw-list-item"><a href="https://hak.wikipedia.org/wiki/SQL" title="SQL – Hakka" lang="hak" hreflang="hak" data-title="SQL" data-language-autonym="客家語 / Hak-kâ-ngî" data-language-local-name="Hakka" class="interlanguage-link-target"><span>客家語 / Hak-kâ-ngî</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/SQL" title="SQL – Hebräisch" lang="he" hreflang="he" data-title="SQL" data-language-autonym="עברית" data-language-local-name="Hebräisch" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%8D%E0%A4%B8%E0%A4%95%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%8D%E0%A4%B2" title="ऍसक्यूऍल – Hindi" lang="hi" hreflang="hi" data-title="ऍसक्यूऍल" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/SQL" title="SQL – Kroatisch" lang="hr" hreflang="hr" data-title="SQL" data-language-autonym="Hrvatski" data-language-local-name="Kroatisch" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/SQL" title="SQL – Ungarisch" lang="hu" hreflang="hu" data-title="SQL" data-language-autonym="Magyar" data-language-local-name="Ungarisch" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/SQL" title="SQL – Armenisch" lang="hy" hreflang="hy" data-title="SQL" data-language-autonym="Հայերեն" data-language-local-name="Armenisch" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/SQL" title="SQL – Interlingua" lang="ia" hreflang="ia" data-title="SQL" data-language-autonym="Interlingua" data-language-local-name="Interlingua" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/SQL" title="SQL – Indonesisch" lang="id" hreflang="id" data-title="SQL" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesisch" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/SQL" title="SQL – Isländisch" lang="is" hreflang="is" data-title="SQL" data-language-autonym="Íslenska" data-language-local-name="Isländisch" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Italienisch" lang="it" hreflang="it" data-title="Structured Query Language" data-language-autonym="Italiano" data-language-local-name="Italienisch" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/SQL" title="SQL – Japanisch" lang="ja" hreflang="ja" data-title="SQL" data-language-autonym="日本語" data-language-local-name="Japanisch" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/SQL" title="SQL – Georgisch" lang="ka" hreflang="ka" data-title="SQL" data-language-autonym="ქართული" data-language-local-name="Georgisch" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/SQL" title="SQL – Kasachisch" lang="kk" hreflang="kk" data-title="SQL" data-language-autonym="Қазақша" data-language-local-name="Kasachisch" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/SQL" title="SQL – Koreanisch" lang="ko" hreflang="ko" data-title="SQL" data-language-autonym="한국어" data-language-local-name="Koreanisch" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wikipedia.org/wiki/SQL" title="SQL – Kurdisch" lang="ku" hreflang="ku" data-title="SQL" data-language-autonym="Kurdî" data-language-local-name="Kurdisch" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-ky mw-list-item"><a href="https://ky.wikipedia.org/wiki/SQL" title="SQL – Kirgisisch" lang="ky" hreflang="ky" data-title="SQL" data-language-autonym="Кыргызча" data-language-local-name="Kirgisisch" class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wikipedia.org/wiki/SQL" title="SQL – Latein" lang="la" hreflang="la" data-title="SQL" data-language-autonym="Latina" data-language-local-name="Latein" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-lmo mw-list-item"><a href="https://lmo.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Lombardisch" lang="lmo" hreflang="lmo" data-title="Structured Query Language" data-language-autonym="Lombard" data-language-local-name="Lombardisch" class="interlanguage-link-target"><span>Lombard</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/SQL" title="SQL – Litauisch" lang="lt" hreflang="lt" data-title="SQL" data-language-autonym="Lietuvių" data-language-local-name="Litauisch" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/SQL" title="SQL – Lettisch" lang="lv" hreflang="lv" data-title="SQL" data-language-autonym="Latviešu" data-language-local-name="Lettisch" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-mhr mw-list-item"><a href="https://mhr.wikipedia.org/wiki/SQL" title="SQL – Ostmari" lang="mhr" hreflang="mhr" data-title="SQL" data-language-autonym="Олык марий" data-language-local-name="Ostmari" class="interlanguage-link-target"><span>Олык марий</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/SQL" title="SQL – Mazedonisch" lang="mk" hreflang="mk" data-title="SQL" data-language-autonym="Македонски" data-language-local-name="Mazedonisch" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%8E%E0%B4%B8%E0%B5%8D.%E0%B4%95%E0%B5%8D%E0%B4%AF%E0%B5%81.%E0%B4%8E%E0%B5%BD." title="എസ്.ക്യു.എൽ. – Malayalam" lang="ml" hreflang="ml" data-title="എസ്.ക്യു.എൽ." data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/SQL" title="SQL – Malaiisch" lang="ms" hreflang="ms" data-title="SQL" data-language-autonym="Bahasa Melayu" data-language-local-name="Malaiisch" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wikipedia.org/wiki/SQL" title="SQL – Birmanisch" lang="my" hreflang="my" data-title="SQL" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Birmanisch" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/SQL" title="SQL – Niederländisch" lang="nl" hreflang="nl" data-title="SQL" data-language-autonym="Nederlands" data-language-local-name="Niederländisch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/SQL" title="SQL – Norwegisch (Nynorsk)" lang="nn" hreflang="nn" data-title="SQL" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegisch (Nynorsk)" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Norwegisch (Bokmål)" lang="nb" hreflang="nb" data-title="Structured Query Language" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegisch (Bokmål)" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%90%E0%A9%B1%E0%A8%B8.%E0%A8%95%E0%A8%BF%E0%A8%8A.%E0%A8%90%E0%A9%B1%E0%A8%B2" title="ਐੱਸ.ਕਿਊ.ਐੱਲ – Punjabi" lang="pa" hreflang="pa" data-title="ਐੱਸ.ਕਿਊ.ਐੱਲ" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/SQL" title="SQL – Polnisch" lang="pl" hreflang="pl" data-title="SQL" data-language-autonym="Polski" data-language-local-name="Polnisch" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pnb mw-list-item"><a href="https://pnb.wikipedia.org/wiki/%D8%A7%DB%8C%D8%B3_%DA%A9%DB%8C%D9%88_%D8%A7%DB%8C%D9%84" title="ایس کیو ایل – Westliches Panjabi" lang="pnb" hreflang="pnb" data-title="ایس کیو ایل" data-language-autonym="پنجابی" data-language-local-name="Westliches Panjabi" class="interlanguage-link-target"><span>پنجابی</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/SQL" title="SQL – Portugiesisch" lang="pt" hreflang="pt" data-title="SQL" data-language-autonym="Português" data-language-local-name="Portugiesisch" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-qu mw-list-item"><a href="https://qu.wikipedia.org/wiki/SQL" title="SQL – Quechua" lang="qu" hreflang="qu" data-title="SQL" data-language-autonym="Runa Simi" data-language-local-name="Quechua" class="interlanguage-link-target"><span>Runa Simi</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/SQL" title="SQL – Rumänisch" lang="ro" hreflang="ro" data-title="SQL" data-language-autonym="Română" data-language-local-name="Rumänisch" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/SQL" title="SQL – Russisch" lang="ru" hreflang="ru" data-title="SQL" data-language-autonym="Русский" data-language-local-name="Russisch" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/SQL" title="SQL – Serbokroatisch" lang="sh" hreflang="sh" data-title="SQL" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbokroatisch" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – einfaches Englisch" lang="en-simple" hreflang="en-simple" data-title="Structured Query Language" data-language-autonym="Simple English" data-language-local-name="einfaches Englisch" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Slowakisch" lang="sk" hreflang="sk" data-title="Structured Query Language" data-language-autonym="Slovenčina" data-language-local-name="Slowakisch" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/SQL" title="SQL – Slowenisch" lang="sl" hreflang="sl" data-title="SQL" data-language-autonym="Slovenščina" data-language-local-name="Slowenisch" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/SQL" title="SQL – Albanisch" lang="sq" hreflang="sq" data-title="SQL" data-language-autonym="Shqip" data-language-local-name="Albanisch" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/SQL" title="SQL – Serbisch" lang="sr" hreflang="sr" data-title="SQL" data-language-autonym="Српски / srpski" data-language-local-name="Serbisch" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Structured_Query_Language" title="Structured Query Language – Schwedisch" lang="sv" hreflang="sv" data-title="Structured Query Language" data-language-autonym="Svenska" data-language-local-name="Schwedisch" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%95%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AE%AE%E0%AF%88%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AF%81%E0%AE%B3%E0%AF%8D%E0%AE%B3_%E0%AE%B5%E0%AE%BF%E0%AE%A9%E0%AE%B5%E0%AF%81_%E0%AE%AE%E0%AF%8A%E0%AE%B4%E0%AE%BF" title="கட்டமைப்புள்ள வினவு மொழி – Tamil" lang="ta" hreflang="ta" data-title="கட்டமைப்புள்ள வினவு மொழி" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-tet mw-list-item"><a href="https://tet.wikipedia.org/wiki/SQL" title="SQL – Tetum" lang="tet" hreflang="tet" data-title="SQL" data-language-autonym="Tetun" data-language-local-name="Tetum" class="interlanguage-link-target"><span>Tetun</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wikipedia.org/wiki/SQL" title="SQL – Tadschikisch" lang="tg" hreflang="tg" data-title="SQL" data-language-autonym="Тоҷикӣ" data-language-local-name="Tadschikisch" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%AA%E0%B8%AD%E0%B8%9A%E0%B8%96%E0%B8%B2%E0%B8%A1%E0%B9%80%E0%B8%8A%E0%B8%B4%E0%B8%87%E0%B9%82%E0%B8%84%E0%B8%A3%E0%B8%87%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87" title="ภาษาสอบถามเชิงโครงสร้าง – Thailändisch" lang="th" hreflang="th" data-title="ภาษาสอบถามเชิงโครงสร้าง" data-language-autonym="ไทย" data-language-local-name="Thailändisch" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/SQL" title="SQL – Tagalog" lang="tl" hreflang="tl" data-title="SQL" data-language-autonym="Tagalog" data-language-local-name="Tagalog" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/SQL" title="SQL – Türkisch" lang="tr" hreflang="tr" data-title="SQL" data-language-autonym="Türkçe" data-language-local-name="Türkisch" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-tt mw-list-item"><a href="https://tt.wikipedia.org/wiki/SQL" title="SQL – Tatarisch" lang="tt" hreflang="tt" data-title="SQL" data-language-autonym="Татарча / tatarça" data-language-local-name="Tatarisch" class="interlanguage-link-target"><span>Татарча / tatarça</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/SQL" title="SQL – Ukrainisch" lang="uk" hreflang="uk" data-title="SQL" data-language-autonym="Українська" data-language-local-name="Ukrainisch" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D8%A7%DB%8C%D8%B3_%DA%A9%DB%8C%D9%88_%D8%A7%DB%8C%D9%84" title="ایس کیو ایل – Urdu" lang="ur" hreflang="ur" data-title="ایس کیو ایل" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/SQL" title="SQL – Usbekisch" lang="uz" hreflang="uz" data-title="SQL" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Usbekisch" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/SQL" title="SQL – Vietnamesisch" lang="vi" hreflang="vi" data-title="SQL" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamesisch" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/SQL" title="SQL – Wu" lang="wuu" hreflang="wuu" data-title="SQL" data-language-autonym="吴语" data-language-local-name="Wu" class="interlanguage-link-target"><span>吴语</span></a></li><li class="interlanguage-link interwiki-yo mw-list-item"><a href="https://yo.wikipedia.org/wiki/SQL" title="SQL – Yoruba" lang="yo" hreflang="yo" data-title="SQL" data-language-autonym="Yorùbá" data-language-local-name="Yoruba" class="interlanguage-link-target"><span>Yorùbá</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/SQL" title="SQL – Chinesisch" lang="zh" hreflang="zh" data-title="SQL" data-language-autonym="中文" data-language-local-name="Chinesisch" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/SQL" title="SQL – Min Nan" lang="nan" hreflang="nan" data-title="SQL" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Min Nan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/SQL" title="SQL – Kantonesisch" lang="yue" hreflang="yue" data-title="SQL" data-language-autonym="粵語" data-language-local-name="Kantonesisch" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q47607#sitelinks-wikipedia" title="Links auf Artikel in anderen Sprachen bearbeiten" class="wbc-editpage">Links bearbeiten</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Diese Seite wurde zuletzt am 21. September 2024 um 00:26 Uhr bearbeitet.</li> <li id="footer-info-copyright"><div id="footer-info-copyright-stats" class="noprint"><a rel="nofollow" class="external text" href="https://pageviews.wmcloud.org/?pages=SQL&project=de.wikipedia.org">Abrufstatistik</a> · <a rel="nofollow" class="external text" href="https://xtools.wmcloud.org/authorship/de.wikipedia.org/SQL?uselang=de">Autoren</a> </div><div id="footer-info-copyright-separator"><br /></div><div id="footer-info-copyright-info"> <p>Der Text ist unter der Lizenz <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">„Creative-Commons Namensnennung – Weitergabe unter gleichen Bedingungen“</a> verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den <span class="plainlinks"><a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/de">Nutzungsbedingungen</a> und der <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Privacy_policy/de">Datenschutzrichtlinie</a></span> einverstanden.<br /> </p> Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.</div></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/de">Datenschutz</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:%C3%9Cber_Wikipedia">Über Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Impressum">Impressum</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Verhaltenskodex</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Entwickler</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/de.wikipedia.org">Statistiken</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Stellungnahme zu Cookies</a></li> <li id="footer-places-mobileview"><a href="//de.m.wikipedia.org/w/index.php?title=SQL&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile Ansicht</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-vbjf2","wgBackendResponseTime":166,"wgPageParseReport":{"limitreport":{"cputime":"0.269","walltime":"0.409","ppvisitednodes":{"value":1778,"limit":1000000},"postexpandincludesize":{"value":18327,"limit":2097152},"templateargumentsize":{"value":3546,"limit":2097152},"expansiondepth":{"value":12,"limit":100},"expensivefunctioncount":{"value":34,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":34771,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 286.522 1 -total"," 21.84% 62.575 2 Vorlage:Internetquelle"," 15.61% 44.718 1 Vorlage:\u0026quot;"," 15.57% 44.598 1 Vorlage:Literatur"," 15.47% 44.319 1 Vorlage:Normdaten"," 11.69% 33.494 1 Vorlage:Wikidata-Registrierung"," 10.40% 29.799 1 Vorlage:Lang"," 8.79% 25.197 3 Vorlage:IPA"," 3.63% 10.411 2 Vorlage:Str_len"," 3.59% 10.290 4 Vorlage:Anker"]},"scribunto":{"limitreport-timeusage":{"value":"0.082","limit":"10.000"},"limitreport-memusage":{"value":4419596,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-5dc468848-fdqxs","timestamp":"20241121235448","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"SQL","url":"https:\/\/de.wikipedia.org\/wiki\/SQL","sameAs":"http:\/\/www.wikidata.org\/entity\/Q47607","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q47607","author":{"@type":"Organization","name":"Autoren der Wikimedia-Projekte"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-07-21T14:48:26Z","headline":"relationale Datenbank-Abfragesprache"}</script> </body> </html>