MySQLのサブクエリ接続

 

 

 

 

 

 

 

 

 

--MySQLサブクエリコネクタ
1、セット名がGBK:表示形態はGBKとしてクライアントを設定(UTF-8でエンコードされた文字が表示される設定する前に認識できない場合)
2、クエリ内にネストサブクエリを指し、円形である必要がありますブラケットは、戻り値は、データラインも、テーブルに開始されたスカラで、使用
するクエリのselect句で別のサブクエリでは、3
、デフォルトは中国語の文字を書くことを許可されていないデータテーブルの書き込み中、4したがって、エンコード形式を変更する必要があります。
表示のフル列をphplampから、すべてのフィールドの状態をチェックデータテーブル
は、alter table phplamp変更アドレスアドレスはvarchar(修正UTF8エンコード形式の
セット名は、GBK。 GBKのクライアントがデータフィールドを表示するように変更
5、サブクエリ:
tdb_goodsからSELECT AVG(goods_price)は、カラムについて平均した
ラウンド選択(AVG(goods_price)をカラムアベレージ、2小数点以下の桁数は
tdb_goodsからgoods_id、goods_name、goods_price選択価格を見つけるにはレベルよりも大きい場合に 同上平均財、名前と価格
tdb_goodsからgoods_id、goods_name、goods_price選択 (tdb_goodsから2、平均(goods_price)(ラウンドを選択))goods_price> =を、 サブクエリ
の選択goods_price goods_cate =「スーパーこの」tdb_goodsから、選択出力のノートブックの価格の大部分にわたって
基本情報ノートブックの最も上のカラムを示し; goods_cate =「ウルトラブック」\ G tdb_goodsから選択*
6、キーサブクエリのいくつかのいずれかの/ない/中で/いくつか/すべて/
SELECTは、WHERE tdb_goodsからgoods_priceをgoods_nameをgoods_id goods_price> =任意の(から選択goods_price tdb_goods goods_cate =「 スーパー本」);任意を追加する必要があり、すべての、いくつかのサブクエリが返すしない列の複数の値であれば
選択goods_id、goods_name、tdb_goodsからgoods_price goods_price =任意/一部( tdb_goods goods_cate =「スーパー本」からgoods_priceを選択)、以上、以下の任意のおよびすべてを使用することができるが、任意のいくつかだけ/等しくすることができます
tdb_goodsからgoods_id、goods_name、goods_price選択 goods_priceない(tdb_goods goods_cate = "からgoods_priceを選択でGを\スーパー存在");ないでと!=全ての等価
goods_cateによってtdb_goods群から選択goods_cate、統計的分類関数の結果を使用してグループ
tdb_goods_cateインサート(cate_name)からgoods_cateを選択 goods_cateによってtdb_goods基;挿入選択クエリ文
7、多機能テーブル更新
多段更新:
更新はtdb_goods_cate tdb_goods内側goods_cate = ON SET goods_cate cate_name = cate_idに参加し、接続モード、多段階の更新更新-クリエイティブキーテーブル-インサート選択により書き込まれたレコード-テーブル更新
ステップの更新方法:トキ選択機能:
表tdb_goods_bandを作成します(
- >主キーはAUTO_INCREMENT、符号なしSMALLINTをband_id
文字エンコーディングUTF8にインポートされてもよい> BRAND_NAME VARCHAR(50)文字セットUTF8のCOLLATEのutf8_unicode_ci内ていないヌル- )は
-によってtdb_goodsグループから>を選択しBRAND_NAME BRAND_NAME、
私たちは一緒に名前と属性データ列を変更する必要があり、更新後:
ALTERテーブルtdb_goods
- >変更goods_cate cate_id SMALLINT符号なしNOT NULL、
- >変更BRAND_NAMEがSMALLINT符号なしNOT NULLをbrand_id、
文字数値型、狭いスペース修正
8を、マルチテーブル・ジョイン
内の接続を2つのテーブルは、接続条件を満たしているレコードだけを示して
tdb_goodsからgoods_id、goods_name、cate_nameを選択し 、内側tdb_goods.cate_id = tdb_goods_cate.cate_idにtdb_goods_cateに参加し、
左の外側:右のレコードに一致するすべてのレコードがディスプレイの左側
goods_id選択し、goods_name、tdb_goodsからcate_nameは tdb_goods.cate_id = tdb_goods_cate.cate_idにtdb_goods_cateに参加左、
右の外側の接続:左右のテーブルのレコードをテーブルに一致するすべてのレコードの接続
を選択goods_idを、goods_name、tdb_goodsからcate_nameは右に参加 tdb_goods.cate_id = tdb_goods_cate.cate_idにtdb_goods_cateを。
複数のテーブルの間の接続(及び2つのテーブルが類似している)
SELECTが参加tdb_goods_bandの内AS B c.cate_id g.cate_idインナーAS AS G C = ONをtdb_goods参加tdb_goods_cateから、goods_priceをgoods_id goods_name、cate_name、BRAND_NAME = b.band_id g.brand_id;
9、無線分類レベル(下部接続)の設計
CREATEテーブルtdb_goods_types(
AUTO_INCREMENT SMALLINT UNSIGNED PRIMARY KEY、TYPE_ID
20 TYPE_NAME VARCHARを(IS)文字セットUTF8 COLLATE utf8_unicode_ci内のNOT NULL、
PARENT_ID SMALLINT UNSIGNED NOT NULL 0 DEFAULT
);
自分の接続-入れ子にされた
選択s.type_id、s.type_name、カウント(p.type_name )Sなどtdb_goods_typesからはs.parent_id = p.type_idにPとしてtdb_goods_typesに参加左、 左テーブルのサブテーブルを
p.type_id、p.type_name、カウント(s.type_nameを選択 pはp.type_idによってp.type_name順序によってs.parent_id = p.type_id基のSとしてtdb_goods_typesに参加左ようtdb_goods_typesから); 右テーブル親テーブル
10を、マルチテーブルの削除
(1)の記録が繰り返されるマージ操作:
SELECT goods_id、goods_nameによってtdb_goodsグループからgoods_name合わせたフィールドを繰り返すようgoods_nameする
(2)マルチテーブルの削除-コントロール削除
T1としてtdb_goodsから削除t1が参加左 (goods_id、goods_nameを選択tdb_goods群からgoods_nameによって(カウントを有する t1.goods_name = t2.goods_nameにT2とgoods_name)> = 2)ここで、t1.goods_id> t2.goods_id。

 

おすすめ

転載: www.cnblogs.com/Yanjy-OnlyOne/p/12628552.html