SQL- Anweisung
Hallo,
die Wirtschaftsinformatik kostet mir noch den letzten Nerv. Bin wiedermals mit Aufgaben für die kommende Klausur beschäftigt und schon gelange ich an einige Verständnisprobleme.
z.B. EA WS 2005/06 Aufgabe 4
Ich gehe Schritt für Schritt vor und komme doch nicht weiter.
was?
woher?
mit welchen Eigenschaften?
Ja schön und gut, aber ich kann das mit unseren Kurseinheiten einfach nicht umsetzen.
Kann mir bitte jemand anhand der Beispiele der o. g. Aufgabe es so verdeutlichen, dass auch ich es verstehen kann.
Vielen Dank für eure Hilfe!!!!
René
Comments
schmetterling
Contributions on this page: 9
View profileRene,
schau mal [URL="https://www.studienservice.de/showpost.php?p=206357&postcount=26"]hier[/URL], hier gibts eine Erklärung und Übungen zu SQL :).
Graf Zahn
Contributions on this page: 9
View profileHab'mit dem SQL-Kram auch so meine Schwierigkeiten.
Und ich bin auch der Meinung, dass das Skript die Sachen nicht wirklich gut erklärt. Im Gegenteil fühle mich da ziemlich allein gelassen.
Habe diverse Male im Internet nach besseren Erklärungen gesucht, aber irgendwie verstehe ich es nicht.
chasey82
Contributions on this page: 9
View profileWo gibts denn da genau probleme? :) vielleicht kann ich ja helfen
Alope
Contributions on this page: 1
View profileSchmetterling,
danke für den Link: genau sowas hab ich gebraucht. Jetzt kann ich der Klausur ein bisschen gelassener entgegensehen :D
LG
Christine
Graf Zahn
Contributions on this page: 9
View profileDanke für deine hilfe...
also ich binmir halt super unsicher, was genau in diese WHERE-Zeile kommt.
also, dass bei SELECT die entsprechende Tabellenbezeichung nebst gesuchtem Feld kommt, das klingt noch logisch. Ebenso, dass in der FROm-Zeile die Tabellenbezeichung steht, aus der ich suche.
Klar, im Skript steht, dass bei WHERE die bedingung eingatregn wird. aber woher weiß ich welche Bedingungen ich angeben muss??
schmetterling
Contributions on this page: 9
View profileDas steht im Aufgabentext :), dafür gibt es keine Regel was du einzusetzen hast. Aufgabentext also aufmerksam lesen und das wichtigste anstreichen.
Graf Zahn
Contributions on this page: 9
View profileAlso dann zähnchen zusammenbeißen und noch genauer lesen.
na ja, zumindest muss ich mir die sql-anweisungen nicht selbst aus den fingern saugen ;).
werde nun nochmal die eine oder andere Aufgabe genauer angehen.
Graf Zahn
Contributions on this page: 9
View profileHab' ne Aufgabe gefunden, die nun überhaupt nicht verstehe - hilfe!!
also ea ss203 id
nr. 4 b
frage: wie viele mitrarbeiter aus der filiale münchen meierplatz (filialnr.=55) verdienen genau das durchschnittsgehlat aller mitarbeiter?
ausschnitt aus datenmodell:
filiale ([U]filialnr[/U], regnr, bezeichnung, ort, umsatz)
miarbeiter ([U]mitarbeiternr[/U], filialnr, name, funktion, gehalt, ort)
die vorgegebene antwort:
SELECT mitarbeiter.mitarbeiternr
FROM mitarbeiter
WHERE mitarbeiter.filialnr=55
AND mitarbeiter.gehalt = (SELECT AVG (Gehalt) FROM mitarbeiter);
gemäß der Musterlösung ist die sql-anweisung falsch.
dass, sie falsch ist, darin stimme ich überein, nur wie die richtige anweisung lauten soll weiß ich nicht? (ich weiß ist nicht gefragt, aber die neugier will es wissen!)
ich denke mir so was in der art für den einstieg:
SELECT COUNT (mitarbeiter.mitarbeiternr)
AS anzahl
schmetterling
Contributions on this page: 9
View profileUnd wie gehts dann weiter? Den Anfang halte ich für sehr vielversprechend :) ! Weiter so!
Graf Zahn
Contributions on this page: 9
View profileMein gedankengang ist folgender:
SELECT COUNT (mitarbeiter.mitarbeiternr)
AS anzahl
FROM mitarbeiter
WHERE mitarbieter.filialnr = 55
AND mitarbeiter.gehalt = (SELECT AVG(gehalt) FROM mitarbeiter);
chasey82
Contributions on this page: 9
View profileJop, so würd ichs auch machen. Mit count wird quasie die anzahl datensätze ermittelt wo die filalnr 55 ist und das durchschnittsgehalt gezahlt wird.
.. das die filiale meierplatz id 55 ist war das im text gegeben? das heißt solltest du nach meierplatz suchen oder nach der filiale 55? oder hast du dir das aus der tabelle selbst zusammen gesucht? eventl müsstest du dann noch auf die zweite tabelle zugreifen um die bezeichnung herauszusuchen.
SELECT COUNT(mitarbeiter.mitarbeiternr) as Anzahl FROM Mitarbeiter, Filiale WHERE filiale.bezeichnung like 'München Meierplatz' AND Mitarbeiter.filialnr = Filiale.filialnr AND mitarbeiter.gehalt = (SELECT AVG(gehalt) FROM mitarbeiter);
Graf Zahn
Contributions on this page: 9
View profilechasey82,
die filialnummer war bereits angegeben.
vielen dank für deine übereinstimmung.
rene3000
Contributions on this page: 4
View profileSchmetterling,
danke für deine schnelle Unterstützung.
Habe jetzt auch ein besseres Gefühl, obwohl ich noch etwas üben muss. :(
Gruß
René
__________________
geschafft: BWL II, EBWL/EVWL :D
SoSe 07: Winfo, BWL I, BWL III :confused:
WS 07/08: Recht, Mathe, Statistik :hmmm
schmetterling
Contributions on this page: 9
View profileRené das Gefühl hab ich zur Zeit auch noch. Aber es ist ja nicht so dass die Klausur schon heute ist, sondern nächste Woche - ein paar Tage bleiben uns noch :genau: !
Graf Zahn
Contributions on this page: 9
View profileJa, zum glück!
mein hauptaugenmerk werde ich bei der restlichen lernerei auf sql legen - definitv.
so richtig hat's bei mir noch nicht klick gemacht. wobei es schon ein wenig besser ist als gestern ....
rene3000
Contributions on this page: 4
View profileAufgabe 3 EA WS 06/07
[COLOR=black]Vielleicht brauch ich doch noch mal einen Denkanstoß!!! :confused::confused::confused:[/COLOR]
[COLOR=black]Sorry, aber ich glaube ich habe es immer noch nicht recht verstanden und somit habe ich mich entschlossen, die kpl. Aufgabe bis ins kleinste Detail auseinander zu nehmen, um endlich mein Verständnisproblem zu finden.[/COLOR]
[COLOR=black]Soo...[/COLOR]
[COLOR=black]3b) [/COLOR][COLOR=red]Welche Lieferanten haben Zweibecker Urquell bestellt?[/COLOR]
[COLOR=red]Select Lieferant.LieferantName[/COLOR]
[COLOR=black]Fragestellung für Select: Welche Spalten werden gesucht?[/COLOR]
[COLOR=black]Wie unterscheide ich das denn in diesen Ausschnitten der Relationsmodelle?[/COLOR]
[COLOR=black]Produkt = Tabelle[/COLOR]
[COLOR=black]ProduktNr. = Spalte[/COLOR]
[COLOR=red]From Lieferung,Lieferant, Produkt[/COLOR]
[COLOR=black]Fragestellung für From: Aus welchen Spalten kommen die Daten?[/COLOR]
[COLOR=black]Den Lieferantennamen erhalte ich doch ausschließlich von der Tabelle Lieferant.[/COLOR]
[COLOR=red]Where Lieferung.ProduktNr. = Produkt.ProduktNr[/COLOR]
[COLOR=red]AND Lieferung.LieferantNr = Lieferant.LieferantNr[/COLOR]
[COLOR=red]AND Produkt.ProduktName = Zweibecker Urquell[/COLOR]
[COLOR=black]Nach welchen Kriterien werden die Daten gesucht ?[/COLOR]
[COLOR=black]Kann mir jemand das en diesem Beispiel verdeutlichen?[/COLOR]
[COLOR=black]3c) [/COLOR][COLOR=red]Update Produkt[/COLOR]
[COLOR=red] Set Preis = Preis * 1.03[/COLOR]
[COLOR=black]3d) [/COLOR][COLOR=red]SelectSum (LagerplatzBestand)[/COLOR]
[COLOR=red] From Lagerplatz, Produkt[/COLOR]
[COLOR=red] Where Lagerplatz,ProduktNr. = Produkt.ProduktName[/COLOR]
[COLOR=red] AND Produkt.Produkt.Name = Zweibecker Urquell[/COLOR]
[COLOR=black]Wo ist der Fehler? Das ProdktNr nicht = Produkt Name[/COLOR]
[COLOR=black]Es wäre sehr nett, wenn ihr mir eure Gedankengänge für die o.g. Beispiele mitteilen könntet. Ich habe die Skripte gelesen und dachte ich könnte die Aufgaben lösen aber das war wohl nichts.[/COLOR]
[COLOR=black]Was bedeutet eigentlich AS und was hat es mit den Klammerdiskussionen auf sich?[/COLOR]
Damit wäre mir sehr geholfen..
rene3000
Contributions on this page: 4
View profileAufgabe 3 EA WS 06/07
[COLOR=black]Vielleicht brauch ich doch noch mal einen Denkanstoß!!! :confused::confused::confused:[/COLOR]
[COLOR=black]Sorry, aber ich glaube ich habe es immer noch nicht recht verstanden und somit habe ich mich entschlossen, die kpl. Aufgabe bis ins kleinste Detail auseinander zu nehmen, um endlich mein Verständnisproblem zu finden.[/COLOR]
[COLOR=black]Soo...[/COLOR]
[COLOR=black]3b) [/COLOR][COLOR=red]Welche Lieferanten haben Zweibecker Urquell bestellt?[/COLOR]
[COLOR=red]Select Lieferant.LieferantName[/COLOR]
[COLOR=black]Fragestellung für Select: Welche Spalten werden gesucht?[/COLOR]
[COLOR=black]Wie unterscheide ich das denn in diesen Ausschnitten der Relationsmodelle?[/COLOR]
[COLOR=black]Produkt = Tabelle[/COLOR]
[COLOR=black]ProduktNr. = Spalte[/COLOR]
[COLOR=red]From Lieferung,Lieferant, Produkt[/COLOR]
[COLOR=black]Fragestellung für From: Aus welchen Spalten kommen die Daten?[/COLOR]
[COLOR=black]Den Lieferantennamen erhalte ich doch ausschließlich von der Tabelle Lieferant.[/COLOR]
[COLOR=red]Where Lieferung.ProduktNr. = Produkt.ProduktNr[/COLOR]
[COLOR=red]AND Lieferung.LieferantNr = Lieferant.LieferantNr[/COLOR]
[COLOR=red]AND Produkt.ProduktName = Zweibecker Urquell[/COLOR]
[COLOR=black]Nach welchen Kriterien werden die Daten gesucht ?[/COLOR]
[COLOR=black]Kann mir jemand das en diesem Beispiel verdeutlichen?[/COLOR]
[COLOR=black]3c) [/COLOR][COLOR=red]Update Produkt[/COLOR]
[COLOR=red] Set Preis = Preis * 1.03[/COLOR]
[COLOR=black]3d) [/COLOR][COLOR=red]SelectSum (LagerplatzBestand)[/COLOR]
[COLOR=red] From Lagerplatz, Produkt[/COLOR]
[COLOR=red] Where Lagerplatz,ProduktNr. = Produkt.ProduktName[/COLOR]
[COLOR=red] AND Produkt.Produkt.Name = Zweibecker Urquell[/COLOR]
[COLOR=black]Wo ist der Fehler? Das ProdktNr nicht = Produkt Name[/COLOR]
[COLOR=black]Es wäre sehr nett, wenn ihr mir eure Gedankengänge für die o.g. Beispiele mitteilen könntet. Ich habe die Skripte gelesen und dachte ich könnte die Aufgaben lösen aber das war wohl nichts.[/COLOR]
[COLOR=black]Was bedeutet eigentlich AS und was hat es mit den Klammerdiskussionen auf sich?[/COLOR]
Damit wäre mir sehr geholfen..
schmetterling
Contributions on this page: 9
View profileRené,
so ganz verstehe ich deine Fragen nicht :(. Ich versuchs mal mit einer Antwort :).
Was meinst du mit der Frage? :confused: Du willst wissen welchen Lieferanten das eine Getränk bestellt haben. Der Lieferantenname wird nur in der Lieferantentabelle stehen. Was willst du da unterscheiden? :confused:
Aus gar keinen Spalten. Hinter FROM stehen immer die Tabellen aus denen du die Daten die du benötigst zusammensuchst. Hier stehen keine Spalten!
Richtig. Aber in der Lieferantentabelle steht nicht, welches Produkt er bestellt hat und du willst NUR die Lieferanten die EIN BESTIMMTES Produkt bestellt haben.
Immer noch nach "Welcher Lieferanat hat Zweibecker Urquell" gesucht. Du musst die Where-Bedingung so gestalten dass du von der Lieferantentabelle zur Produkttabelle kommst. Der Zwischenschritt dazu führt dich über die Lieferung-Tabelle.
Ja. Es macht wenig Sinn '4711' mit 'Zweibecker Urquell' zu vergleiche, da kommt immer "falsch" zurück.
:winke
SaschaHB
Contributions on this page: 8
View profileHmm, wobei 4711 jetzt nicht so gut gewählt ist, weil es beides sein könnte, auch ein Produktname ;P .
Graf Zahn
Contributions on this page: 9
View profileWelche der aussagen ist eurer meinung nach bei Aufgabe 3a der Klausur 03/07 falsch?
meiner meinung nach sind 2 fehler enthalten.
schmetterling
Contributions on this page: 9
View profileGraf Zahn,
ich hab in der Klausur nur eine Aussage als falsch markiert, welche hast du denn gefunden? Kann gut sein dass ich da froh war überhaupt was falsches gefunden zu haben und dann aufgehört hab, weiter zu schauen, weil das Diagramm schon mit einer falschen Aussage nicht zutrifft ;) .
SaschaHB
Contributions on this page: 8
View profileJa, sind 2
Bild-Galerie c ist falsch.
Galerie-Police m ist falsch.
heilpraktiker_grimm
Contributions on this page: 3
View profileich habe probleme mit der sql abfrage. gibt es vielleicht ein "kochrezept" für die abfrage. ich habe zwar alle befehle gelernt, kann sie aber nicht anwenden. habe auch das curiculum runtergeladen, leider komme ich nicht weiter..
gruß
p. grimm
SaschaHB
Contributions on this page: 8
View profileDann sag doch erstmal was du bei welcher Aufgabe nicht verstehst?
Graf Zahn
Contributions on this page: 9
View profile:rolleyes: cool, die gleichen fehler habe ich gemeint.
danke für die übereinstimmung...
heilpraktiker_grimm
Contributions on this page: 3
View profilesascha,
mein problem ist die anwendung und mir fehlt die struktur.
ich weiß mit
select wähle ich die spalten aus
from die tabellen
where den inhalt des datensatzes
ich verstehe in den kurseinheiten nicht wie ich vorgehen soll, das ich die abfrage als richtig oder falsch bewerten kann.
gruß
p.grimm
SaschaHB
Contributions on this page: 8
View profileNaja, im Prinzip gibt es viele Fehlerquellen, nehmen wir zum Beispiel die Aufgabe d) von der ersten EA aus dem letzten Semester.
da ist die Fehlerquelle
Where Lagerplatz.ProduktNr = Produkt.Produktname
kann schonmal nicht richtig sein, weil eine Nummer keine Buchstaben enthalten kann.
Oder Aufgabe b3) aus der letzten Klausur, hier ist
AND Maler = 'Otto' falsch, da Police Maler nicht enthält.
Und bei der EA aus diesem Semester, wurde bei einer Aufgabe einfach eine Zeile weggelassen. Ich denke, wenn SQL drankommt, wird es auch nicht so schwer sein, den Fehler zu erkennen.
heilpraktiker_grimm
Contributions on this page: 3
View profileVielen dank ich glaube jetzt hat es klick gemacht, nach meiner meinung sind die aufgaben b1 und b2 richtig oder?
gruß
p. grimm
SaschaHB
Contributions on this page: 8
View profileWenn du die Teilaufgaben aus der Klausur damit meinst, ja.
d-baby
Contributions on this page: 4
View profileIch habe mit SQL auch leider so meine Schwierigkeiten.Das ähnelt bei mir eher so an "raten"!(-:
Irgend ein Tipp wie man vielleicht vorgeht?
Wenn bei FROM dahinter z.B. Gerät, Kunde steht , müssen diese beiden Wörter unten auch in der WHERE Bedingung vorkommen,richtig?!
Eine doofe Frage hab ich noch: Die Unterstreichungen,...was haben die genau zu bedeuten?
chasey82
Contributions on this page: 9
View profileUnterstreichungen stellen sogenannte schlüssel dar :) primär bzw. fremdschlüssel!
gintare
Contributions on this page: 4
View profileIch habe hier eine Aufgabe aus der Klausur 05/06
SQL Anweisung:
SELECT *
FROM Kunde, KundeKonto
WHERE Kunde.KundKonto>0
AND Name='KabelwerkeKG'
AND Kunde.Kundenummer=KundeKonto.Kundenummer
Scheint alles schön zu sein und in der Diskussion nach der KLausur als richtige Lösung von den meisten akzeptiert.
Mein Problem ist die 4. Zeile, wo nur Name ohne der dazugehörige Tabellenbezeichnug steht. Kann ich die Anweisung so schreiben - ohne Kunde.Name?
schmetterling
Contributions on this page: 9
View profileWenn "Name" nur in einer der Tabellen als Spaltenname auftaucht dann solltest du es weglassen können. Es muss nur eindeutig sein, welche Spalte in welcher Tabelle gemeint ist.
gintare
Contributions on this page: 4
View profileDanke, Schmetterling, - ich bin immer bis jetzt davon ausgegangen, daß es unabhängig von dem Vorhandensein in einer oder zwei Tabellen ist. Eigentlich logisch gesehen - müsste man wenn - dann immer die dazugehörige Tabelle angeben. Weil Endbenutzer ja nich immer wissen kann, wie die Relationen in einer Datenbank aufgebaut sind...
chasey82
Contributions on this page: 9
View profileDer endbenutzer sollte sowieso nichts von sqls sehen! Ich kenne keinen reinen endbenutzer der selbst sqls schreiben kann bzw. kann man das in der wirtschaft von keinem kunden verlangen bei ner anwendung selbst sqls zu interpretieren .... warum auch?
chasey82
Contributions on this page: 9
View profileAlso wegen der sql abfragen noch mal ...
zwischen periode 10 und 30 wäre dann: <30 und >10
und bis zur Periode 100 wäre dann: <100
richtig oder? so hab ich mir das jetzt aus den lösungen abgeleitet :) bei der zweiten geschichte mit dem bis zur periode bin ich mir nicht sicher ob es vielleicht doch <= ist ... kann mich da noch wer bestätigen das es so richtig ist?
SaschaHB
Contributions on this page: 8
View profileStimmt soweit, bei dem bis Periode 100 bin ich mir auch nicht so sicher, obwohl ich auch schonmal "bis einschließlich" gelesen habe, also sollte dass mit dem "bis Periode 100" < 100 sein.
chasey82
Contributions on this page: 9
View profileOkiii danke :) dann hab ich das richtig interpretiert
SaschaHB
Contributions on this page: 8
View profileAber 100%ig kann ich es auch nicht sagen.
schmetterling
Contributions on this page: 9
View profileDas sehe ich auch so. Bis 100 heißt < 100, oder auch "kleiner 100". "Kleiner gleich 100" oder "bis einschließlich" ist <= 100 :). Analog natürlich für größer oder "über 40" z.B. das ist > 40.
SaschaHB
Contributions on this page: 8
View profileHmm, was wäre denn dann zB. "ab Periode 100" >100 oder >=100 ?
schmetterling
Contributions on this page: 9
View profileAb 100 heißt inklusive für mich. Also ab da wenn die Periode Nr. 100 beginnt.
Aber das nicht als "der Weisheit letzter Schluss" verstehen. Nicht dass ihr mich für eure Klausurnoten verantwortlich macht. Ich interpretiere das eben so und hab festgestellt, dass ich umso verwirrter werde, je mehr Gedanken ich mir mache was es denn jetzt genau heißt.
Wünsche euch allen viel Erfolg heute :) !
chasey82
Contributions on this page: 9
View profileSagt das wort periode nicht aus das diejenige zahl immer ausgeschlossen wird? ich habs nu an dem wort festgemacht
d-baby
Contributions on this page: 4
View profileAlso hinter Select steht also was man sucht( aus was man zum Schluss gerne heraus bekommen möchte), hinter From aus welchen Tabellen und hinter Where die Bedingung?
chasey82
Contributions on this page: 9
View profilejau, so ist es
d-baby
Contributions on this page: 4
View profileNoch eine Frage:
Produkt( [U]ProduktNr.[/U] , Produktname, Preis)
Lagerplatz ( [U]Lagerplatznr.[/U], Produktnr. , Lagerplatzbestand, Lagerplatzkapazität)
Sooo, und jetzt die Aufgabe:
Auszugeben ist die Gesamtmenge des derzeit eingelagerten Produktes "Zweibecker Urquell"
SELECT SUM (LagerplatzBestand)
FROM Lagerplatz,Produkt
WHERE Lagerplatz.Produktnr. = Produkt.Produktname
AND Produkt.Produktname= "Zwweibecker Urquell"
Meine Frage ist jetzt, muss man nicht neben SELECT SUM (Lagerplatzbestand) auch noch den Namen des produktes schreiben?(hier wäre das ja Zweibecker Urquell)
Oder ist das überflüssig?
Und warum ist die Anweisung falsch?
gintare
Contributions on this page: 4
View profileNein, muss man nicht. Falsch ist deswegen, weil Produktname mit Produktnr. verglichen wird. Das geht nicht.
chasey82
Contributions on this page: 9
View profileDer sql ist falsch weil Lagerplatz.Produktnr. = Produkt.Produktname funktioniert nicht !!! man kann keinen namen mit einer nr vergleichen -_- das hätte heißen müssen Lagerplatz.produktnr = produkt.produktnr :)
und beim sum kann man keine bedingung angeben, die bedingung kommt erst im where teil
gintare
Contributions on this page: 4
View profileSchreibt jemand die Prüfung im Potsdam? Ich habe mir dieses Holm-Komplex angeschaut. In welchem der unzähligen Häuser mögen wohl die Räume 001 und 010 liegen?
d-baby
Contributions on this page: 4
View profileOk, vielen dank für die erklärung