
MySQL 1つの列に紐づく複数のカテゴリの結合
今回は、1つの列に紐づく複数のカテゴリの結合をします。商品ID:1のカテゴリが2つ持つ場合、中間テーブルにはproduct_id1に対してカテゴリーidが2つ存在します。この中間テーブルを利用し、一つの商品idに紐づく情報を出力します。商品テーブル(P)・中間テーブル(pc)・カテゴリーテーブル(c)として置き換えます。
meta>
今回は、1つの列に紐づく複数のカテゴリの結合をします。商品ID:1のカテゴリが2つ持つ場合、中間テーブルにはproduct_id1に対してカテゴリーidが2つ存在します。この中間テーブルを利用し、一つの商品idに紐づく情報を出力します。商品テーブル(P)・中間テーブル(pc)・カテゴリーテーブル(c)として置き換えます。
以下の表のデータのようにテーブル1とテーブル2の内容が違う場合に各テーブルのデータをプラスするのに union句を使用します。出力するデータを・email・姓・名・性別とした場合、ベースとなるselectの結果に、unionの後に記載したselectの結果を足し算します。union句は重複行は削除されますので削除したくない時は、union allを使用します。
注文一覧に注文詳細と商品情報を一緒に出力します。注文一覧(o) ・注文詳細 (d)・商品情報 (p)←既存3つのテーブルを参照してテーブルを結合していきます。まず、inner join の構文を使って注文一覧・詳細情報・商品情報を内部結合します。次にアスタリスク「*」を消して必要な部分だけを取り出し、必要に応じ名前をつけます。
テーブル同士をある条件で結合することにより、正規化なしの状態を作り出すことで、※基本的には、正規化ですが、パフォーマンスの問題が解消できないもしくは、できなくなりそうな時、あえて非正規化することもあります。今回は、内部結合と外部結合の両方を解説します。
MySQL集約関数の用途・記述順序と実行順序・合計金額・平均値・最大値・最小値・対象行の行数の数え方・ユニークユーザー数の出力にgroup by句・集約結果をさらに絞り込むhaving・複数の並び替え条件を指定するordre by句などを使用して説明しています。
MySQL Workbench8.0はフォントサイズの変更が簡単にできます! Workbenchのエディタの文字が小さくて見づらいと思って色々探してたのですが、最後まで記載がないものしか行き当らず、やっとできましたので、記載しておきます。Result Glidの文字の重なりも解消できます。
MySQLの算術演算子・絶対値・四捨五入・文字列演算・日付と時刻の計算の記述例です。文字列演算ユーザー一覧を苗字+スペース+名前+さんのフォーマットで出力します。文字列連結には a || b →文字列aと文字列bを連結。ただし、MySQL,SQL Server 2012以降ではconcat関数を使用
MySQL データ取得を制限する limit句の使い方の使用例を記載しています。
比較演算子は値と値が等しいかどうか、大きいかどうかなど値を比較するために使用します。MySQLで利用可能な代表的な比較演算子の使用方法は以下の通りです。ワイルドカード文字で文字列のパターンを指定できます。'田%' → '田'で始まる文字列
MySQLをし始めて遭遇しやすいエラーをまとめてみましたので、参考材料にしてください。