SELECT * vs SELECT *

أمس أحد الزملاء أراني استعلام postgres التالي. لقد فوجئ كلانا بأنه نجح:

SELECT* FROM mytable;

نظرًا لأنني قمت مؤخرًا بترميز محلل للغة أخرى ، فأنا أحاول أن أفهم بعمق أكبر سبب "تجميع" هذا الاستعلام وإرجاع نفس النتائج مثل SELECT * FROM mytable؛ .

من المفترض أن يتم التعرف على هذا كاستعلام صالح لأنه أثناء التحليل المعجمي ، تقرأ postgres SELECT من الإدخال كرمز ، ثم تبحث عن الرمز المميز التالي ، الذي تجده كـ * ، وما إلى ذلك - هل هذا أكثر أو أقل ما يحدث هنا؟

أيضًا ، هل مصادفة / محلل postgres قوي بما يكفي لفهم هذا الاستعلام ، أم أن قواعد البيانات الأخرى ستفهم مشابهًا ] SELECT * استعلام؟

5
задан Justin Ethier 6 August 2011 в 16:19
поделиться