この記事では、MySQL データベースでよく使用される SQL ステートメントを例を使用して説明します。ご参考までに、詳細は以下の通りです。 基本的な MySQL SQL ステートメントについては前述しました。ここでは、SQL ステートメントの高度な内容を引き続き要約します。 高度なSQL文 1. クエリフィールド: ————すべてのフィールドをクエリする テーブル名から*を選択します。 ————指定されたフィールドを照会する テーブル名からフィールド名、フィールド名...を選択します。 ————複数のデータテーブル接続クエリ テーブル名.フィールド名、テーブル名.フィールド名…をテーブル名から選択します。 ————テーブルの別名としてasを使用する テーブル名からテーブルエイリアス.フィールド名をテーブルエイリアスとして選択します。 ————重複行を削除する(重複しない) テーブル名から異なるフィールド名を選択します。 2. 条件付きクエリ: ————比較演算子 (>, <, =, !=) テーブル名から、年齢が18より大きい*を選択します。 (<>は!=も意味します) ————論理演算子(and、or、not) テーブル名から、年齢>18かつ年齢<28の*を選択します。(18 3. ソート: - - 上昇 select * from table name order by asc; (デフォルトは asc ですが省略可能です) ————下降 テーブル名から * を選択し、desc で並べ替えます。 4. 集計関数: ————合計数 テーブル名からcount(*)を選択します。 ————最大値max テーブル名からmax(age)を選択します。 ————最小値 min テーブル名からmin(age)を選択します。 - - 和 テーブル名からsum(age)を選択します。 ————平均値avgを求める テーブル名からavg(age)を選択します。 ————小数点以下は四捨五入 select round(avg(age),2) from table name; (平均年齢をクエリし、小数点以下2桁に丸めます) 5. グループ化(ポイント): ————グループ化 テーブル名から性別カウント(*)を選択し、性別でグループ化します。(性別でグループ化し、性別と人数を照会します) ————グループクエリ(集計関数、group_concat()、having) select gender avg(age) from table name group by gender; (各性別の平均年齢を照会します) select gender group_concat(name) from table name group by gender; (group_concat(name) でグループ名を表示) select gender count() from table name group by gender having count()>2 (having は where に似ており、フィルタリング条件です。having は group by にのみ使用でき、where はテーブルデータに使用されます) ————まとめ select gender count(*) from table name group by gender with rollup; (要約結果を表示するには最後に新しい行を追加します) 6. ページネーション: ————最初のn個のデータを照会します(制限は通常bestに書かれており、操作後のデータが表示されることを示します) テーブル名制限nから*を選択します。 ————ページネーション表示 select * from table name limit 0,3; (1ページあたり3件表示、最初のページ) select * from table name limit 3,3; (1ページあたり3件表示、2ページ目) select * from table name limit 6,3; (1ページあたり3件表示、3ページ目) 7. 接続クエリ(キーポイント): ————内部結合…オン(内部結合) select * from table name 1 inner join table name 2 on table name 1.cls_id=table name 2.id; (テーブル 1 cls.id とテーブル 2 を同じ ID で結合します) テーブル名 1. フィールド名 1、テーブル名 2. フィールド名 2 をテーブル名 1 から選択します。内部結合は条件に 2 を示します。 ————左/右結合…オン(左/右/外部結合) select * from tablename1 left/right join tablename2 on tablename1.cls_id=tablename2.id; (クエリ結果は、2 つのテーブルに一致するデータと、左のテーブルに固有のデータです。左/右のテーブルに存在しないデータについては、null を使用して埋めます) 8. サブクエリ: ————スカラーサブクエリ(サブクエリによって返される結果は1つのデータ(1行1列)です) テーブル名から * を選択します。年齢 > (テーブル名から avg(age) を選択します)。 ————列サブクエリ(返される結果は1つの列(複数の行を持つ1つの列)) tablename1 から name を選択し、 id を (tablename2 から cls_id を選択) と指定します。 ————行サブクエリ(返される結果は行(複数の列を持つ1行)) テーブル名から * を選択します。ここで (height,age) = (select max(height),max(age) from テーブル名); MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Docker で Python スクリプトを実行する方法
Linux システムでは、ユーザーが手動で作成したさまざまなアカウントに加えて、システムまたはプログ...
1.インストールしたい場所に解凍し、my.iniファイルを作成します。 my.iniの内容は次のと...
まず、例を挙げてみましょう(読みたくない場合は、以下の要約だけ読んでください)。 order_typ...
目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...
脆弱性の詳細VSFTP は、GPL に基づいてリリースされた Unix ライクなシステムで使用される...
目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...
CSSは複数のクラスにマッチする次の HTML タグ li、クラスはオープン スタイルです。私の要件...
方法は2つあります: 1. サービス方法ファイアウォールのステータスを確認します。 [root@ce...
3. MySQLデータ管理最初の方法:お勧めできません。複雑そうです -- 学生テーブルの grad...
目次1. 透かしのJsファイルを作成する2. 導入操作2.1 App.vueや他のページでの参照2....
Flex レイアウトを使用すると、水平に配置すると、すべての子項目の高さが同じになることがわかります...
ページに複数の画像を導入すると、画像のサイズがばらつくことがあります。しかし、それらを一貫したサイズ...
序文Linux オペレーティング システムでは、デバイス ファイルは特別なタイプのファイルです。これ...
この記事では、例を使用して MySQL の重複インデックスと冗長インデックスについて説明します。ご参...
VNodeとはvue.js には VNode クラスがあり、これを使用してさまざまな種類の vnod...