ホームページ  >  記事  >  トピック  >  php mysqlクエリ文の書き方

php mysqlクエリ文の書き方

王林
王林オリジナル
2020-11-03 13:45:363752ブラウズ

php MySQL クエリ ステートメントは次のように記述されます: [select * from Goods where Goods_id in (select max(goods_id) from Goods group by cat_id);]。

php mysqlクエリ文の書き方

#いわゆるサブクエリ ステートメントは、最初にステートメントを通じて結果をクエリし、次にクエリ ステートメントを通じてその結果から再度クエリを実行します。サブクエリ ステートメントには通常、次の 3 種類があります。事例を使って説明しましょう。

(ビデオ チュートリアルの推奨: php ビデオ チュートリアル)

ケース: [例 1] の各カテゴリで最新の製品情報をクエリします。

php mysqlクエリ文の書き方

単一の文でクエリを実行しても、結果を取得することはできません。以下は誤りです。

select max(goods_id),cat_id,goods_name from goods group by cat_id;

このように、各カテゴリの最新の商品ID番号「goods_id」が取得されますが、「goods_name」など他の情報は古いものになります。したがって、カテゴリごとに最新の製品情報を取得するには、個別にクエリを実行するか、サブクエリを使用する必要があります。

1. Where サブクエリ ステートメント。

select * from goods where goods_id in ( select max(goods_id) from goods group by cat_id);

このコードでは、最初に group by を使用して各カテゴリの最新の製品 ID をクエリし、次に where...in () 条件を使用して各カテゴリの最新の製品 ID の製品情報をクエリします。声明 。ここでは、where のサブクエリ文としての group by 文を示します。

2. サブクエリステートメントから。

select * from (select * from goods order by cat_id,goods_id desc) as gk group by cat_id;

From subquery は、上記の太字のコードのように、選択クエリの結果をテーブルとして使用します。注: select によってクエリされた結果セットには、上記のコードの赤い部分などのエイリアスを指定する必要があります。それ以外の場合は、エラーが報告されます。

このようにして、各カテゴリの最新の製品情報もクエリします。

3. サブクエリ ステートメントが存在します:

タイトル: [例 1] どの列に製品があるかをクエリします。カテゴリテーブル名:category

select * from category where exists( select * from goods where goods.cat_id=category.cat_id )

前文のありにチェック(商品テーブルのカテゴリID=カテゴリテーブルのカテゴリIDの場合)、商品はありますか?存在する場合はこのカテゴリの情報を照会し、存在しない場合はこのカテゴリを除外します。最終的な結果は、製品の製品分類情報が照会されることです。

さて、ここでは一般的に使用される 3 つの mysql データベース サブクエリ ステートメントを紹介します。where サブクエリ ステートメント、from サブクエリ ステートメント、existes サブクエリ ステートメントです。もちろん、サブクエリ ステートメントを使用したくない場合は、サブクエリ ステートメントを 2 つのステートメントに分割して実行することもでき、結果は同じになります。

関連する推奨事項: php トレーニング

以上がphp mysqlクエリ文の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。