Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

in den Lösungsvorschlägen der IHK werden bei SQL-Anweisungen im SELECT-Teil nur die Felder aufgeführt, die angezeigt werden sollen. Die in WHERE-Bedingung angesprochen Felder fehler im SELECT-Teil. Meines Wissens müssen doch da auch die Felder aufgenommen werden, auf die in der WHERE-Bedindung abgefragt wird. Oder liege ich da falsch?

mfg

newbie

Geschrieben

Da liegst Du falsch. Im Select Bereich gibst Du an, welche Werte von Feldern (einer Tabelle) Du sehen möchtest. In der Where Klausel führst Du nur die Felder auf, die Du für die Eingrenzung deiner Datenmenge benötigst.

Select

Name, Vorname

From

Adressen

Where

PLZ = '44227';

oder (ja ich weiß ein sehr dummes Beispiel, aber sehr effektiv)

Select

Ad.Name, Ad.Vorname, Ort.Ortsbezeichnung

From

Adressen Ad, Orte Ort

Where

Ad.PLZ = '44227' AND Ort.PLZ =Ad.PLZ

Geschrieben

Alles klar, Danke Euch! Das hätte sicher Punktabzug gegeben, wenn ich die Felder oben mit aufführen würde.

Noch eine Frage:

Wenn ich von mehreren Tabellen lese, müsse hinter den Tabellennamen ja nicht die Angabe

"FROM Tabelle1 as Tab1, Tabelle2 as Tab2"

stehen, oder? Ich kann ja dann im SELECT-Teil die Felder mit Tabelle1.Feld ansprechen. Was wäre der Vorteil, wenn ich ein "as Tab1" anhänge?

mfg

newbie

Geschrieben

In normalen Fällen bringen die sogenannte Aliase keinen großen Vorteil, allenfalls weniger Tipparbeit, falls Du mit den Aliasen die Tabellennamen abkürzen kannst. Sie bringen unter anderen dann erhebliche Vorteile, wenn Du gleichnamige Tabellen aus unterschiedlichen Schematas benutzt oder bei Unions. Da mußt Du Dich aber schon sehr in die Materie einarbeiten.

Geschrieben
"FROM Tabelle1 as Tab1, Tabelle2 as Tab2"

stehen, oder? Ich kann ja dann im SELECT-Teil die Felder mit Tabelle1.Feld ansprechen.

Grundsätzlich würde ich insbesondere bei Joins die "saubere" Schreibweise verwenden, auch wenn das etwas mehr Schreibarbeit ist:


SELECT

   t1.colum1,

   t1.colum2,

   t2.colum3,

   t2.colum4

FROM

   tabelle1 AS t1

INNER JOIN

   tabelle2 AS t2

ON

   t1.colum1 = t2.colum2

WHERE 

   t1.colum = 'bla'

Das ist meiner Meinung nach wesentlich übersichtlicher. Vor allem dann, wenn man mehrere Joins in der SQL-Abfrage hat. Und außerdem muss man die Abhängigkeiten der Primär- und Fremdschlüssel nicht erst mühsam über die WHERE-Klausel verbinden. Habs jetzt nich nachgemessen, aber diese Variante ist auch performanter als die "dreckige" Variante ;)

Aber in der Prüfung ist natürlich beides richtig, weil beide SQL-Abfragen die gleichen Ergebnismengen liefern. Ist natürlich auch Geschmackssache, welche Variante man verwendet.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...