WiesneRobert Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 Während der Prüfungsvorbereitung mit einigen Kollegen haben wir über folgenden Sachverhalt diskutiert. Und zwar, ob bei einem SQL Select alle Relationen, die z.B. nur zum Vergleich benutzt werden, in die FROM müssen. SELECT * FROM answers WHERE answers.question_id = questions.id; SELECT * FROM answers, questions WHERE answers.question_id = questions.id Durch die Erfahrung von Aufgaben aus der Prüfungs-Vorbereitung würde ich sagen, dass beide Lösungen funktionieren! Jedoch klappt es bei einem test mit mySQL nur mit der Zweiten Methode... meine Frage: bestehen Unterschiede zwischen mySQL und SQL bezüglich der "FROM-Syntax" oder ist es immer zwingen notwenig alle Relationen anzugeben.
Amstelchen Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 meine Frage: bestehen Unterschiede zwischen mySQL und SQL bezüglich der "FROM-Syntax" oder ist es immer zwingen notwenig alle Relationen anzugeben. unpräzise fragestellung. "MySQL" mit "SQL" zu vergleichen ist wie "Mazda" mit "Auto" zu vergleichen. manche RDBMS decken dies ab, manche nicht. s'Amstel
dunker Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 wenn du aus einer tabelle was angezeigt bzw zum vergleichen brauchst must die auch im FROM angeben.
Karl Nickel Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 Richtig. Der erste Ausdruck ist syntaktisch falsch, da die Relation zu "question" fehlt.
WiesneRobert Geschrieben 6. Mai 2008 Autor Geschrieben 6. Mai 2008 In den IHK Lösungen wird die erste Methodik angeben. Teste man das ganze unter mySQL funktionieren die SELECTs nicht. Ich meinte mySQL im Vergleich zu einer anderen SQL Distribution(?). manche RDBMS decken dies ab, manche nicht. aber das sagt ja schon alle, vielen Dank
Martin1983 Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 unpräzise fragestellung. "MySQL" mit "SQL" zu vergleichen ist wie "Mazda" mit "Auto" zu vergleichen. manche RDBMS decken dies ab, manche nicht. s'Amstel Ich denke ausschlaggebend hierfür ist der SQL-Standard und der sieht vor das es anzugeben ist. Was irgendwelche Frickler sich da bei ihrem DBMS abweichend von der Norm zusammengebastelt haben ist in der Prüfung uninteressant.
SoL_Psycho Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 Ich denke ausschlaggebend hierfür ist der SQL-Standard und der sieht vor das es anzugeben ist. Was irgendwelche Frickler sich da bei ihrem DBMS abweichend von der Norm zusammengebastelt haben ist in der Prüfung uninteressant. qft ^^
Karl Nickel Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 Außerdem sind die IHK-Lösungsbögen nur Muster und erheben keinen Anspruch auf Richtigkeit. Der zweite Ausdruck ist definitiv richtig, der erste falsch. Unabhängig vom "IHK-DBMS" dürfte der erste Ausdruck in allen DBMSen falsch sein. Die Relation fehlt und ich glaube nicht, dass irgendein DBMS über alle Tabellen selektiert und nach gut Glück passende Spalten herausfischt. Neben der schlechten Peformance wäre auch das Ergebnis unter Umständen falsch...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden