shattered-blog.com

投稿記事数[8790]以上!ゲーム,PC,カメラ,動画などを、アヤしゐ「專門妖語」を使ッて解説スル!

[怪奇文] MySQLのINのヴァクァ詐加減www [ゐクァれ]

更新日:

以下のようなテーブルがあるとスル。

↓SELECT * from `test` ;
MySQLのIN

DISTINCTは重複除外なので、2つあるaaaは1つしか表示されない。

↓SELECT DISTINCT `vid` from `test` ;
MySQLのIN

コノ時、idやcontsは表示されない(しようがナゐ)。

重複除外ツッタッテ、ドレが除外され、ドレが残ったンかは分からん/若乱からヌェ。

さて、INは複数指定可能なので、vidがaaaかbbbのモノが選ばれる。

↓SELECT * from `test` WHERE `vid` IN ('aaa','bbb') ;
MySQLのIN

ナヌォで、INにSELECT DISTINCTを使い(サブクエリ)、SELECT *で全項目表示が可能だと思われるが、

↓SELECT * from `test` WHERE `vid` IN (SELECT DISTINCT `vid` from `test`) ;
MySQLのIN

重複除外しているハヅのid=5が表示される、コノ意味不明詐であるwwwww

ティヌァミに、

SELECT * from `test` WHERE `vid` IN (SELECT `vid` from `test`) ;

とシても、結果は同じでアル...

DISTINCTが無視される、隠蔽改竄虚偽捏造偽装!!!

DISTINCTは重複除外であるが、GROUP by(グループ化)でも書ける。

以下の2つは同じ結果を返す。

①SELECT DISTINCT `vid` from `test` ;

②SELECT `vid` from `test` GROUP by `vid` ;

①は上述のようにidやcontsは表示されヅ(できない)、②はグループ化しているコトからも分かるように表示できない。

関連:DISTINCTの逆(重複を抽出するSQL文)

関連:[MySQL] ランキングなどで順位を取得する方法 [自己結合]

関連:[MySQL] idを詰める(連番を振り直す)方法

関連:163data.com.cnの拒否IPリストを自動生成(deny)

関連:Macでサーバー(Apache,PHP,MySQL,WordPress)を作る

関連:[Mac] PHPのバージョンが異なる問題 [HighSierra]

関連:Ubuntu 18.04.2 LTSの32ビット版

翔泳社 (2016-07-11)
売り上げランキング: 5,007
SQLアンチパターン
posted with amazlet at 19.08.05
Bill Karwin
オライリージャパン
売り上げランキング: 7,819



ソニー・インタラクティブエンタテインメント
2018年12月発売 20タイトル収録
セガゲームス
2019年9月発売 42タイトル収録
セガゲームス
2019年9月発売 42タイトル収録
コナミデジタルエンタテインメント
2020年3月発売 58タイトル収録

-データベース
-,

Copyright© shattered-blog.com , 2019 All Rights Reserved.