New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Benutzer:Filzstift/SELECT - Wikipedia

Benutzer:Filzstift/SELECT

aus Wikipedia, der freien Enzyklopädie

Dieser Crashcourse ist für diejenigen, welche SQL-Abfragen auf http://www.wikisign.org durchführen möchten, aber keine/kaum Ahnung der SQL haben.

Da in http://www.wikisign.org einzig SELECT-Anweisungen erlaubt sind, beschränkt sich diese Howto eben auf diese.

Fachkundige dürfen diese Beschreibung gerne erweitern.

Inhaltsverzeichnis

[Bearbeiten] SELECT allgemein

[Bearbeiten] Alle Spalten anzeigen

Die einfachste Form einer Select-Anweisung sieht wie folgt aus:

SELECT * FROM cur

Resultat: Aus der Tabelle cur werden sämtliche Datensätze angezeigt, der * ist ein Joker: es werden alle Spalten der Tabelle angezeigt.

[Bearbeiten] Bestimmte Spalten anzeigen

Will man nur bestimmte Spalten in darstellen, kann beispielsweise wie folgt vorgegangen werden:

SELECT cur_id, cur_namespace, cur_title, cur_user, cur_user_text FROM cur

[Bearbeiten] Mehrfache Einträge mit DISTINCT vermeiden

Manchmal gibt es in einer Tabelle mehrere Einträge zu einer Eigenschaft. Beispiel: In cur_user_text der Tabelle cur sind die Autoren der Artikel vorhanden. Würde man

SELECT cur_user_text FROM cur

abfragen, so gäbe es mehrere Zeilen mit dem gleichen Resultat (da ein Autor mehrere Artikel schreiben kann). Wenn man stattdessen

SELECT DISTINCT cur_user_text FROM cur

benutzt, so erscheint jeder Autor nur einmal.

Dabei ist zu beachten, dass DISTINCT immer alle angegebenen Spalten miteinbezieht.

SELECT DISTINCT cur_user_text, cur_id FROM cur

Diese Abfrage würde alle Artikel zurückgeben, da cur_id für jeden Artikel anders ist, und damit die Kombination aus cur_user_text und cur_id für keine zwei Artikel gleich ist.


[Bearbeiten] Beschränkung der Datensatzanzahl mit LIMIT

Wenn nur die ersten 100 Einträge dargestellt werden sollen, so kann dies mit

SELECT cur_user_text FROM cur LIMIT 100

bewerkstelligt werden. LIMIT sollte eigentlich immer eingesetzt werden, da die Abfrage dann meistens viel schneller geht (sonst werden alle 500'000+ Datensätze miteinbezogen und berechnet).

Mit

SELECT cur_user_text FROM cur LIMIT 250,50

werden die Einträge Nr. 250-299 angezeigt (Ab einschließlich Eintrag 250 werden genau 50 Datensätze angezeigt).

[Bearbeiten] Bedingungen einbauen

Einer Selektion mit WHERE kann man Bedingungen einbauen.

SELECT cur_id, cur_title, cur_namespace FROM cur
WHERE cur_user_text = "Filzstift"

Die Bedingung folgt hinter dem WHERE. Mit der obigen Abfrage werden nur diejenigen Artikel angezeigt, deren aktueller Autor "Filzstift" ist.

Weiteres Beispiel:

SELECT cur_id, cur_title, cur_namespace FROM cur
WHERE cur_text LIKE "%SQL%"

Damit werden alle Artikel angezeigt, in denen das Wort "SQL" (im Wiki-Quelltext) vorkommt.

Wenn MySQL meldet, dass keine Zeile gefunden wird, heisst es nicht immer, dass die Bedingung keinen einzigen Treffer lieferte, sondern es könnte auch sein, dass in der WHERE-Klausel ein Fehler war.

[Bearbeiten] Sortierung

Mit ORDER BY können Einträge sortiert werden. Um das obige Beispiel weiter zu verwenden:

SELECT cur_id, cur_title, cur_namespace FROM cur
WHERE cur_user_text = "Filzstift"
ORDER BY cur_title

Damit werden die Einträge nach der Spalte cur_title sortiert. Etwas komplexer:

SELECT cur_id, cur_title, cur_namespace FROM cur
WHERE cur_text LIKE "%SQL%"
ORDER BY cur_user_text DESC, cur_title

Bei allen Artikeln in denen der Text "SQL" vorkommt, sollen die Ergebnisse zuerst nach den Autoren und dann nach dem Titel sortiert werden. Bei den Autoren wurde DESC verwendet. Dies bewirkt die umgekehrte Sortierung (Z-A statt A-Z).

[Bearbeiten] Beispiele

SELECT cur_title
FROM cur
WHERE cur_namespace=0
AND cur_is_redirect=0
AND (cur_text LIKE '%d. h.%' OR cur_text LIKE '%z. b.%')
AND cur_text NOT LIKE '%schweizbezogen%'
ORDER BY cur_title ASC
LIMIT 250

Damit werden die Spalten cur_namespace und cur_title der Tabelle cur dargestellt, aber nur diejenigen, welche folgende Bedingungen erfüllen:

  • ausschliesslich Artikelsnamensraum (cur_namespace=0)
  • kein Redirect (cur_is_redirect=0)
  • Text enthält "d. h." oder "z. b."
  • Text enthält nicht "schweizbezogen"

Die Treffer sollten nach dem Titel sortiert werden und nur die ersten 250 Treffer werden angezeigt.


SELECT cur_title, cur_namespace, LENGTH(cur_text)
FROM cur
WHERE cur_text NOT LIKE '%<!--schweizbezogen-->%'
AND cur_text LIKE '%Strasse%' 
ORDER BY LENGTH(cur_text) ASC
LIMIT 150,50

Neben Titel und Namensraum wird die Speichergrösse von cur_text der Tabelle cur dargestellt. Bedingungen sind:

  • Text enthält nicht "schweizbezogen"
  • Text enthält "Strasse" (Sinn der Sache: Strasse ist ein Typo in Deutschland [Korrekt: Straße], in der Schweiz aber erlaubt)

Das ganze wird nach der Artikelgrösse in aufsteigender (ASC) Reihenfolge sortiert. Es werden ab Treffer Nr. 150 total 50 Treffer angezeigt (Treffer 150-199 werden angezeigt).

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu