Attribute SubQuery

ist eine Query
[sql]select * from TableX where tableYId in (select tableYId from TableY where Bedingung)[/sql]
grundsätzlich bedenklich?

ein Problem besteht, wenn in der Tabelle Y die Id-Spalte etwas abweichend heißt, z.B. tableYKey, was passiert dann?
als tableYId wird das Attribut von TableX genommen

sofern die Bedingung in irgendeiner Form erfolgreich ist wird die Query wird damit quasi zu
[sql]select * from TableX where tableYId is not null[/sql]

falls als DELETE ausgeführt dann besonders unschön :wink:

Verwendung Tabellen-Alias üblich und zwingend?
[sql]select * from TableX where tableYId in (select tableYKey from TableY where Bedingung mit versehentlich Attribut aus TableX)[/sql]
gäbe es ja auch noch als Problem…, wobei oft genug der Normalfall, Attribute der Haupt-Tabelle benötigt