WHERE-Abfrage
Peterchen
- datenbank
Hallo,
könnt Ihr mir (für eine Klausur) erklären, wann man bei der WHERE-Abfrage in SQL diese Dinger hier '' benutzt und wann nicht und was das für einen Unterschied macht?
Danke!!
Gruß
Hi,
das ist eigentlich ganz einfach:
Ein Beispiel:
Select * from Datenbank where Spalte1 like 'Hans'
Hier steht nur Hans in ''.
Warum? weil Hans ein String ist, und weder der Name der Datenbank noch ein Spaltenname ist.
Anders sieht es damit aus:
Select * from Datenbank where Spalte1 = 5
Hier wird nach 5 gesucht. 5 ist kein String -> keine ''-Zeichen.
Mfg Mo3bius
Hier wird nach 5 gesucht. 5 ist kein String -> keine ''-Zeichen.
Aber ist 5 denn ein Spaltenname oder ein Datenbankname?
Ansonsten wäre noch die Frage ob ' ' oder
gemeint war.
Ersteres dient dazu im Zeichenketten einzuschliessen und die damit als Zeichenketten zu deklarieren.
dient unter MySQL z.b dazu Namen Eigennamen bzw. Objektname zu kennzeichnen 'Wert' != Wert
Gruss, Frank
Vielen Dank!
Eine Frage hätte ich noch: Wenn ich bei Abfragen
SELECT * FROM usw. machen kann, aber auch die Möglichkeit von
SELECT person_nr, person_name FROM habe,
warum mache ich nicht immer die Auswahl per * ?
Danke !
warum mache ich nicht immer die Auswahl per * ?
Weil du vielleicht nicht immer alle Felder übertragen möchtest, sondern nur die die du brauchst. Das können bei Abfragen über viele Zeilen eine Menge Daten sein, die du nicht übertragen musst. Bei einer SQL Abfrage ist der Flaschenhals i.d.R. die Übertragung über das Netzwerk.
Struppi.
(...) Das können bei Abfragen über viele Zeilen eine Menge Daten sein, die du nicht übertragen musst.
Das habe ich nicht bedacht. In meinen Beispielen sind das nur wenige Daten, da war das nicht so recht plausibel. Na ja, den Wald vor lauter Bäumen nicht gesehen... :-) Vielen Dank!