Natural Join を使用すると、両方のテーブルの列名が同じ場合にテーブルが結合されます。しかし、PHP で記述し、DBA が両方のテーブルにいくつかのフィールドを追加すると、Natural Join が壊れる可能性があります。
Insert についても同じことが言えます。
insert into gifts values (NULL, "chocolate", "choco.jpg", now());
そうすると、DBA がいくつかのフィールドをテーブルに追加するときに (列 2 または 3 など)、コードが破損するだけでなく、テーブルが汚染されます。そのため、SQL ステートメントがプログラミング言語内で記述され、大きなプロジェクトのファイルに保存される場合は、常に列名を綴るのが最善です。