Jump to content

Empfohlene Beiträge

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
"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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Nimm an der Diskussion teil

Du kannst jetzt hier posten und Dich später registrieren. Wenn Du bereits über eine Konto verfügst, melde Dich jetzt an, um mit Deinem Konto zu posten.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

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


Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

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

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung