MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

SQLのWhere句とHaving句の違い


この投稿では、SQLのWHERE句とHAVING句の違いを理解します。

WHERE条項

  • 特定の条件に基づいてテーブルからレコードをフィルタリングするために使用されます。

  • 「GROUPBY」句なしで使用できます。

  • 行操作で使用できます。

  • 集計関数を含めることはできません。

  • 「SELECT」、「UPDATE」、および「DELETE」ステートメントで使用できます。

  • 必要に応じて、「GROUPBY」句の前に使用されます。

  • 「UPPER」、「LOWER」などの単一行関数で使用されます。

HAVING句

  • 特定の条件に基づいてグループからレコードを除外するために使用されます。

  • 「GROUPBY」句なしでは使用できません。

  • カラム操作で動作します。

  • 集計関数を含めることができます。

  • 「SELECT」ステートメントでのみ使用できます。

  • 「GROUPBY」句の後に使用されます。

  • 「SUM」、「COUNT」などの複数の行関数で使用できます。

構文は次のとおりです:

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

  1. SQLの内部結合と外部結合の違い

    この投稿では、SQLの内部結合と外部結合の違いを理解します。 内部参加 使用される句は「INNERJOIN」と「JOIN」です。 2つ以上のテーブルの結合されたタプルを返します。 共通の属性がない場合、結果は空になります。 タプルの数が多い場合、「INNER JOIN」は、「OUTERJOIN」と比較してすばやく機能します。 特定の属性に関する詳細情報が必要な場合に使用されます。 「JOIN」と「INNERJOIN」は同じように機能します。 構文 SELECT * FROM table_1 INNER JOIN / JOIN table_2 ON tab

  2. JavaでのIteratorとSpilledIteratorの違い。

    イテレータとスプリットイテレータの両方のインターフェイスは、コレクションを反復処理するために使用されます。 並列処理を実現するために、Java8で分割イテレータが導入されました。指定された要素のセットを分割し、異なる独立したスレッドを使用して並列操作を実行できます。それは、要素を平行に、そして順次に横断することができます。 splitIteratorインターフェースには次の重要なメソッドがあります- trySplit-指定された要素のセットを複数の部分に分割するために使用されます。 tryAdvance-イテレータインターフェイスで使用可能なhasNext/nextメソッドと同等です ge