ホームページ > データベース > mysql チュートリアル > SQL 結合クエリが「認識されない名前」エラーを返すのはなぜですか?

SQL 結合クエリが「認識されない名前」エラーを返すのはなぜですか?

Susan Sarandon
リリース: 2025-01-16 16:02:10
オリジナル
860 人が閲覧しました

Why Does My SQL Join Query Return an

SQL 結合クエリ: 「認識されない名前」エラーのトラブルシューティング

SQL 結合クエリは「認識されない名前」エラーをスローする場合があり、開発者を混乱させることがよくあります。これは通常、テーブル名または列名が適切に修飾されていないか、別名が付けられていない場合に発生します。ケーススタディを見てみましょう:

次のクエリは、「認識できない名前: [9:8] の従業員」エラーを生成します:

<code class="language-sql">SELECT
    employees.name AS employee_name,
    employees.role AS employee_role,
    departments.name AS department_name
FROM
    `strange-calling-318804.employee_data.Employees`
    JOIN
    `strange-calling-318804.employee_data.departments`
    ON employees.department_id = departments.department_id</code>
ログイン後にコピー

エラーを理解する

エラー メッセージは行 9、列 8 を指しており、「employees」が認識されないことを示しています。 これは、ON 句に適切なテーブルのエイリアスまたは完全修飾が欠落していることが原因です。

エイリアシングの重要性

SQL でのエイリアスの使用は、特に結合の場合に重要です。エイリアスはテーブルと列に一意で明確な名前を提供し、複数のテーブルが関係する場合の競合を防ぎます。

クエリの修正

エラーを修正するには、FROM 句内で「Employees」テーブルと「Departments」テーブルにエイリアスを付ける必要があります。

<code class="language-sql">SELECT
    employees.name AS employee_name,
    employees.role AS employee_role,
    departments.name AS department_name
FROM
    `strange-calling-318804.employee_data.Employees` AS employees
    JOIN
    `strange-calling-318804.employee_data.departments` AS departments
    ON employees.department_id = departments.department_id</code>
ログイン後にコピー

エイリアス (AS employeesAS departments) を追加すると、クエリが正しく実行され、期待されるデータが返されるはずです。

以上がSQL 結合クエリが「認識されない名前」エラーを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート