Node.js は、高性能、高同時実行性、スケーラブルで信頼性の高いネットワーク アプリケーションを構築するための JavaScript ランタイム環境です。 Node.js でデータベース操作を実行するのは非常に一般的な要件であり、クエリはデータベース操作で最もよく使用される関数の 1 つです。実際の開発では複数テーブル関連のクエリを頻繁に実行する必要がありますが、この記事ではNode.jsで複数テーブル関連のクエリを実装する方法を紹介します。
Node.js でデータベース操作を実行するには、サードパーティのライブラリを使用する必要があります。この記事では例として MySQL を使用し、MySQL クライアント ライブラリを使用しますデータベース操作を実行するには、次のコードを使用して接続する必要があります:
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect();
上記のコードは、mysql
モジュールの createConnection
メソッドを使用して MySQL を作成します。 connection オブジェクトを呼び出し、connect
メソッドを呼び出してデータベースに接続します。このうち、host
はデータベースが配置されているホスト名、user
はデータベースへのログインに使用するユーザー名、password
はパスワード、 database
はデータベースへのログインに使用されるユーザー名であり、接続されたデータベースの名前です。
複数テーブル関連のクエリを実行する前に、まず単一テーブル クエリの実行方法を理解する必要があります。 MySQL クライアント ライブラリを使用すると、次のように query
メソッドを使用して SQL ステートメントをデータベースに送信できます。
connection.query('SELECT name, age FROM users', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end();
上記のコードは、 内の
name をクエリします。 users table
および age
フィールドを抽出し、コンソールに出力します。 query
メソッドの最初のパラメータは実行される SQL ステートメントで、2 番目のパラメータはクエリ結果の処理に使用されるコールバック関数です。コールバック関数の最初のパラメータはクエリ処理中に発生したエラー、2 番目のパラメータはクエリ結果、3 番目のパラメータはクエリ フィールドの説明情報です。
複数テーブル関連のクエリを実行する前に、いくつかの JOIN ステートメントを理解する必要があります:
複数テーブル関連のクエリを使用するには、JOIN ステートメントと ON 句を使用して、関連付ける条件を指定する必要があります。以下は、複数テーブル関連のクエリの例です。
connection.query('SELECT users.name, orders.id FROM users INNER JOIN orders ON users.id = orders.user_id', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end();
上記のコードは、users
テーブルと orders
テーブルのデータをクエリし、# を使用します。 ##INNER JOIN 2 つのテーブルを関連付けます。関連付け条件は
users.id =orders.user_id、つまり
users テーブルの
id フィールドと # の
user_id# です。 ##orders テーブル ## フィールドが関連付けられています。クエリ結果には、
users.name と
orders.id という 2 つのフィールドの値が含まれます。
複数のテーブル関連のクエリ
connection.query('SELECT users.name, orders.id, order_items.product_id FROM users INNER JOIN orders ON users.id = orders.user_id INNER JOIN order_items ON orders.id = order_items.order_id', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end();
users
テーブル、orders テーブル、および
order_items# のデータをクエリします。 ## table を作成し、INNER JOIN
を使用して 3 つのテーブルを結合します。関連する条件は、users.id =orders.user_id
および orders.id = order_items.order_id
です。クエリ結果には、users.name
、orders.id
、order_items.product_id
という 3 つのフィールドの値が含まれます。 概要
以上がnodejs関連のクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。