1. MySQL 自己接続 MySQL では、情報を照会するときに自分自身に接続 (自己接続) する必要がある場合があるため、テーブルのエイリアスを定義する必要があります。例を見てみましょう。以下は商品購入表です。購入価格がHuihuiよりも高いすべての情報を見つける必要があります。 一般的に言えば、この表を見ると、まず次のようなステートメントで操作します。 ショッピングから*を選択 WHERE price>27 ご想像のとおり、これは非常に簡単です。データベース テーブルの詳細なデータがわからない場合や、データの量が非常に多い場合はどうすればよいでしょうか。データベース管理者は、必要なデータをすばやく見つけるために他の方法を使用する必要があります。 ステップバイステップのクエリ 最も簡単な方法は、最も簡単に思いつく方法でもあります。 SELECT price FROM shopping WHERE name='惠惠' //価格クエリの結果は27です ショッピングから*を選択 WHERE price>27 自己接続方式と比較すると、この方法では中間結果に対する手動介入が必要であり、プログラム内の自動処理操作には明らかに役立ちません。 セルフ接続方式: b.*を選択 Aとしての買い物からBとしての買い物まで ここで、a.name='惠惠' そしてa.価格<b.価格 b.idで注文 次のテーブル情報を取得できます。 注記: エイリアス a と b は名前が異なりますが、同じテーブルです。エイリアスを定義する目的は、エイリアスの削除や選択を容易にすることです。 select through (中間テーブル) を実行して、最終結果である b.* を取得します。 サブクエリ サブクエリもよく使用される方法で、select 内に select をネストします。 実装コードは次のとおりです。 ショッピングから*を選択 WHERE price>(name='惠惠' の 'shopping' から価格を選択) 結果は以下に示されており、両方の方法で得られた結果は同じであることがわかります。 参加する 内部結合 内部結合の主な機能は、テーブル内に少なくとも 1 つの一致がある場合に結果セットを返すことです。ここでの内部結合と結合は同じ機能を持つため、一緒に紹介します。 SELECT * FROM goods INNER JOIN category ON goods.id=カテゴリー.goods_id gods.idで注文する 結果は以下のようになります。 左結合 LEFT JOIN キーワードは、右側のテーブル (table_name2) に一致する行がない場合でも、左側のテーブル (table_name1) のすべての行を返します。プロジェクトを実行するときは左結合を使用することをお勧めします。ただし、テーブルの関連付けが多数あり、1 つのテーブルが a に左結合されていると同時に、b に右結合されています。この場合、右結合を追加すると、記述が簡単になる場合があります。 最初の 2 つのテーブルを適用して、左結合クエリを実行します。 SELECT goods.*,category.cate_name 商品から左へカテゴリを結合 ON goods.id=カテゴリー.goods_id goods.idで注文する 右結合 RIGHT JOIN キーワードは、左側のテーブル (table_name1) に一致する行がない場合でも、右側のテーブル (table_name2) のすべての行を返します。最初の 2 つのテーブルを適用して、右結合クエリを実行します。 a.goods_name、a.price、b.* を選択 商品として RIGHT JOIN カテゴリを b として オン a.id=b.goods_id b.idで注文 複数テーブルの関連付けの場合は、関連付けステートメントをいくつか追加するだけです。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。 以下もご興味があるかもしれません:
|
>>: Linux で txt を mysql にインポートする方法
目次1. Maven 依存関係2. メニュー関連クラス1. メインメニュー2. サブメニュー3. S...
1. 問題の出現フラット リストを作成しました。リストの一部には、マウスをホバーすると表示されるポッ...
HTML 入力属性値属性value 属性は、入力フィールドの初期値を指定します。 <フォーム...
実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...
この記事では、CSSの透明な境界線の背景クリップの素晴らしい使い方を主に紹介し、みんなと共有し、自分...
Windows に mysql5.7.18zip バージョンをインストールするには、使用前に解凍し...
序文JavaScript は習得が最も簡単な言語の 1 つであるため、成長と繁栄を続けており、市場に...
背景同僚がセキュリティ プロジェクトに取り組んでおり、AWS サーバーに秘密兵器を展開する必要があり...
1. ip_hash: ip_hash は、送信元アドレス ハッシュ アルゴリズムを使用して、サーバ...
MySQL のインストールに関する以前のメモを要約して、皆さんと共有しました。ステップ 1: mys...
<br />原文: http://www.mikkolee.com/13私は最近、ver...
仕事上の理由により、完全なオンライン化(つまり、すべてのデータがオンラインで完了し、インポートや...
まず、MySQL公式サイトからインストールパッケージをダウンロードします。MySQLはオープンソース...
CentOS 7.3のインストール手順を図解しました。具体的な内容は次のとおりです。この記事では、v...
1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...