国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ データベース mysql チュートリアル SQL のフィルタリングと並べ替えと実際の例

SQL のフィルタリングと並べ替えと実際の例

Jan 01, 2025 am 02:41 AM

SQL Filtering and Sorting with Real-life Examples

このブログでは、従業(yè)員テーブルと部門(mén)テーブルを使用した実際の例を使用して、WHERE、HAVING、ORDER BY、GROUP BY などの SQL 句、およびその他の関連句について説明します。

目次

  1. テーブル構(gòu)造
  2. WHERE 句
  3. GROUP BY 句
  4. HAVING 句
  5. ORDER BY 句
  6. LIMIT 句
  7. DISTINCT 句
  8. AND、OR、NOT 演算子

テーブルの構(gòu)造

従業(yè)員テーブル

emp_id name age department_id hire_date salary
1 John Smith 35 101 2020-01-01 5000
2 Jane Doe 28 102 2019-03-15 6000
3 Alice Johnson 40 103 2018-06-20 7000
4 Bob Brown 55 NULL 2015-11-10 8000
5 Charlie Black 30 102 2021-02-01 5500

部門(mén)テーブル

dept_id dept_name
101 HR
102 IT
103 Finance
104 Marketing

WHERE句

WHERE 句は、指定された條件に基づいてレコードをフィルタリングするために使用されます。

SQLクエリ

SELECT name, age, salary
FROM employees
WHERE age > 30;

結(jié)果

name age salary
John Smith 35 5000
Alice Johnson 40 7000
Bob Brown 55 8000

説明: WHERE 句は行をフィルターして、30 歳以上の従業(yè)員のみを含めます。

AND 演算子を使用した例

SELECT name, age, salary
FROM employees
WHERE age > 30 AND salary > 5000;

結(jié)果

name age salary
Alice Johnson 40 7000
Bob Brown 55 8000

説明: WHERE 句は、30 歳以上で給與が 5000 を超える従業(yè)員をフィルターします。


GROUP BY 句

GROUP BY 句は、各部門(mén)の従業(yè)員數(shù)を調(diào)べるなど、同じ?jìng)帳虺证男肖蚣?jì)行にグループ化するために使用されます。

SQLクエリ

SELECT name, age, salary
FROM employees
WHERE age > 30;

結(jié)果

department_id employee_count
101 1
102 2
103 1

説明: GROUP BY 句は、従業(yè)員を部門(mén) ID ごとにグループ化し、各部門(mén)の従業(yè)員數(shù)をカウントします。


HAVING 句

HAVING 句は、GROUP BY 句によって作成されたグループをフィルタリングするために使用されます。これは WHERE 句と同様に機(jī)能しますが、集計(jì)後に使用されます。

SQLクエリ

SELECT name, age, salary
FROM employees
WHERE age > 30 AND salary > 5000;

結(jié)果

department_id avg_salary
102 5750
103 7000

説明: HAVING 句は、各部門(mén)の従業(yè)員の平均給與に基づいてグループをフィルタリングします。平均給與が 5500 を超える部門(mén)のみが含まれています。


ORDER BY句

ORDER BY 句は、結(jié)果セットを 1 つ以上の列で並べ替えるために使用されます。デフォルトでは、昇順で並べ替えられます。降順に並べ替えるには、DESC を使用します。

SQLクエリ(昇順)

SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id;

結(jié)果

name salary
John Smith 5000
Charlie Black 5500
Jane Doe 6000
Alice Johnson 7000
Bob Brown 8000

説明: 結(jié)果は給與の昇順に並べ替えられます。

SQLクエリ(降順)

SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5500;

結(jié)果

name salary
Bob Brown 8000
Alice Johnson 7000
Jane Doe 6000
Charlie Black 5500
John Smith 5000

説明: 結(jié)果は給與の降順に並べ替えられます。


LIMIT條項(xiàng)

LIMIT 句は、結(jié)果セットから返すレコードの數(shù)を指定するために使用されます。これは、大きな結(jié)果セットをページングしたり制限したりする場(chǎng)合に特に便利です。

SQLクエリ

SELECT name, age, salary
FROM employees
WHERE age > 30;

結(jié)果

name salary
Bob Brown 8000
Alice Johnson 7000
Jane Doe 6000

説明: LIMIT 句は、出力を最も給與の高い従業(yè)員上位 3 名のみに制限します。


DISTINCT 句

DISTINCT 句は、結(jié)果セット內(nèi)の個(gè)別の (異なる) 値のみを返し、重複を削除するために使用されます。

SQLクエリ

SELECT name, age, salary
FROM employees
WHERE age > 30 AND salary > 5000;

結(jié)果

department_id
101
102
103

説明: DISTINCT 句は、重複を排除して一意の部門(mén) ID 値を返します。


AND、OR、NOT 演算子

ANDOR、および NOT 演算子は、WHERE 句で複數(shù)の條件を結(jié)合するために使用されます。

AND 演算子

AND 演算子は、2 つ以上の條件を組み合わせるために使用されます。結(jié)果には、すべての條件が true である行のみが含まれます。

SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id;

結(jié)果

name age salary
Alice Johnson 40 7000
Bob Brown 55 8000

説明: WHERE 句は、両方の條件 (年齢 > 30 および給與 > 5500) が true である行をフィルターします。

OR 演算子

OR 演算子は、條件のうち 1 つだけが true でなければならない場(chǎng)合に使用されます。

SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5500;

結(jié)果

name age salary
Jane Doe 28 6000
Alice Johnson 40 7000
Bob Brown 55 8000

説明: WHERE 句は、age

演算子ではありません

NOT 演算子は、條件が true の行を除外するために使用されます。

SELECT name, age, salary
FROM employees
WHERE age > 30;

結(jié)果

name age salary
John Smith 35 5000
Charlie Black 30 5500
Jane Doe 28 6000

説明: WHERE 句は、給與 > の行をフィルタリングします。 6000 は false です。つまり、収入が 6000 以下の従業(yè)員が返されます。


結(jié)論

このブログでは、SQL の WHERE、HAVING、ORDER BY、GROUP BY、その他の句を使用してデータをフィルタリング、グループ化、並べ替える方法を、従業(yè)員テーブルと部門(mén)テーブルからの実際の例とともに説明します。これらの句を理解することは、効率的な SQL クエリを作成し、データを分析し、データベースを効果的に管理するための基礎(chǔ)となります。

以上がSQL のフィルタリングと並べ替えと実際の例の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GTID(グローバルトランザクション識(shí)別子)とは何ですか?その利點(diǎn)は何ですか? GTID(グローバルトランザクション識(shí)別子)とは何ですか?その利點(diǎn)は何ですか? Jun 19, 2025 am 01:03 AM

GTID(Global Transaction Identifier)各トランザクションに一意のIDを割り當(dāng)てることにより、MySQLデータベースの複雑さとMySQLデータベースのフェールオーバーの複雑さを解決します。 1.レプリケーション管理を簡(jiǎn)素化し、ログファイルと場(chǎng)所を自動(dòng)的に処理し、奴隷サーバーが最後に実行されたGTIDに基づいてトランザクションを要求できるようにします。 2。サーバー全體で一貫性を確保し、各トランザクションが各サーバーで1回のみ適用されることを確認(rèn)し、データの矛盾を避けます。 3.トラブルシューティング効率を改善します。 GTIDには、サーバーUUIDとシリアル番號(hào)が含まれています。これは、トランザクションフローを追跡し、問(wèn)題を正確に見(jiàn)つけるのに便利です。これらの3つのコアの利點(diǎn)により、MySQLの複製がより堅(jiān)牢で管理が容易になり、システムの信頼性とデータの整合性が大幅に向上します。

MySQLマスターフェールオーバーの典型的なプロセスは何ですか? MySQLマスターフェールオーバーの典型的なプロセスは何ですか? Jun 19, 2025 am 01:06 AM

MySQLメインライブラリフェールオーバーには、主に4つのステップが含まれています。 1.障害検出:メインライブラリプロセス、接続ステータス、および簡(jiǎn)単なクエリを定期的にチェックして、ダウンタイムであるかどうかを判斷し、誤判斷を避けるために再試行メカニズムを設(shè)定し、MHA、オーケストレーター、キープアライブなどのツールを使用して検出を支援できます。 2。新しいメインライブラリを選択します。データ同期の進(jìn)行狀況(seconds_behind_master)、binlogデータの整合性、ネットワーク遅延、負(fù)荷條件に従って置き換えるために、最適な奴隷ライブラリを選択して、必要に応じてデータ補(bǔ)償または手動(dòng)介入を?qū)g行します。 3.トポロジの切り替え:他のスレーブライブラリを新しいマスターライブラリにポイント、リセットマスターを?qū)g行するか、GTIDを有効にし、VIP、DNS、またはプロキシ構(gòu)成を更新します

コマンドラインを使用してMySQLデータベースに接続する方法は? コマンドラインを使用してMySQLデータベースに接続する方法は? Jun 19, 2025 am 01:05 AM

MySQLデータベースに接続する手順は次のとおりです。1?;茎偿蕙螗尚问組YSQL-U USERNAME-P-Hホストアドレスを使用して接続し、ユーザー名とパスワードを入力してログインします。 2.指定されたデータベースを直接入力する必要がある場(chǎng)合は、mysql-uroot-pmyprojectなどのコマンドの後にデータベース名を追加できます。 3.ポートがデフォルト3306でない場(chǎng)合、MySQL-Uroot-P-H192.168.1.100-P3307などのポート番號(hào)を指定するために-pパラメーターを追加する必要があります。さらに、パスワードエラーが発生した場(chǎng)合、再入力できます。接続が失敗した場(chǎng)合は、ネットワーク、ファイアウォール、許可設(shè)定を確認(rèn)してください。クライアントが欠落している場(chǎng)合は、Package Managerを介してLinuxにMySQL-Clientをインストールできます。これらのコマンドをマスターします

InnoDBが今推奨されるストレージエンジンが今であるのですか? InnoDBが今推奨されるストレージエンジンが今であるのですか? Jun 17, 2025 am 09:18 AM

INNODBは、信頼性、並行性パフォーマンス、クラッシュ回復(fù)の観點(diǎn)からMyisamなどの他のエンジンを上回るため、MySQLのデフォルトストレージエンジンです。 1.トランザクション処理をサポートし、酸の原則に従い、データの整合性を保証し、財(cái)務(wù)記録やユーザーアカウントなどの主要なデータシナリオに適しています。 2.テーブルレベルのロックの代わりに行レベルのロックを採(cǎi)用して、高い同時(shí)書(shū)き込み環(huán)境でのパフォーマンスとスループットを改善します。 3.クラッシュ回復(fù)メカニズムと自動(dòng)修復(fù)機(jī)能があり、データの一貫性と參照の完全性を確保し、孤立した記録とデータの矛盾を防ぐための外部キーの制約をサポートします。

インデックスがMySQLクエリ速度を改善するのはなぜですか? インデックスがMySQLクエリ速度を改善するのはなぜですか? Jun 19, 2025 am 01:05 AM

IndexESINMYSQLIMPROVESPEEDBYENABLINGFASTERDATARETRIEVAL.1.MYSQLTOQLTOLYLOCATERELEVANTROWSINSEROORDBYBYCLAUSES、特に重要なことを許可していることを許可します

MySQLのトランザクション分離レベルはどのくらいですか?デフォルトはどれですか? MySQLのトランザクション分離レベルはどのくらいですか?デフォルトはどれですか? Jun 23, 2025 pm 03:05 PM

MySQLのデフォルトのトランザクション分離レベルはRepeatablEREADであり、MVCCおよびGAPロックを介して汚れた読み取りや非回復(fù)可能な読み取りを防ぎ、ほとんどの場(chǎng)合ファントムの読み取りを回避します。他の主要なレベルには、読み取りのない読み物(読み取りcommitted)が含まれ、ダーティリードを許可しますが、最速のパフォーマンスを許可します。データの整合性を確保するが、パフォーマンスを犠牲にする。

MySQLトランザクションの酸性特性は何ですか? MySQLトランザクションの酸性特性は何ですか? Jun 20, 2025 am 01:06 AM

MySQLトランザクションは、酸の特性に従って、データベーストランザクションの信頼性と一貫性を確保します。第一に、Atomicityは、トランザクションが不可分な全體として実行されることを保証します。たとえば、転送操作では、引き出しと預(yù)金を完了するか、同時(shí)に発生しない必要があります。第二に、一貫性により、トランザクションはデータベースをある有効な狀態(tài)から別の狀態(tài)に遷移させ、制約やトリガーなどのメカニズムを介して正しいデータロジックを維持します。第三に、分離は、同時(shí)実行時(shí)の複數(shù)のトランザクションの可視性を制御し、汚い読み、非繰り返しの読書(shū)、ファンタジーの読みを防ぎます。 MySQLは、ReadUncommittedおよびReadCommiをサポートしています。

MySQL binディレクトリをシステムパスに追加する方法 MySQL binディレクトリをシステムパスに追加する方法 Jul 01, 2025 am 01:39 AM

MySQLのBINディレクトリをシステムパスに追加するには、異なるオペレーティングシステムに従って構(gòu)成する必要があります。 1。Windowsシステム:MySQLインストールディレクトリでビンフォルダーを見(jiàn)つけます(デフォルトパスは通常C:\ programfiles \ mysql \ mysqlserverx.x \ binです)、「このコンピューター」→「プロパテ?!埂父叨趣圣伐攻匹嘣O(shè)定」→「高度なシステム設(shè)定」→「環(huán)境バリエブル」、「環(huán)境バリアブル」、Mysqlbinを節(jié)約します。コマンドプロンプトとmysql-versionの検証を入力します。 2.MacosおよびLinuxシステム:Bashユーザー編集?/.Bashrcまたは?/.bash_

See all articles