ホームページ >データベース >mysql チュートリアル >これらの比較は SQL の概念全体をカバーしています。

これらの比較は SQL の概念全体をカバーしています。

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 03:12:30783ブラウズ

These  comparisons cover entire SQL concepts, Is it?

SQL の世界では、いくつかの重要な概念や用語が混乱を招くことがあります。このブログ投稿では、Microsoft SQL Server (MS SQL) の最も重要な SQL 概念のいくつかを表形式で比較することで、それらの違いを探ります。このアプローチは、これらの概念が相互にどのように関連しているかを明確にし、それらの異なる機能と使用例を理解しやすくするのに役立ちます。

?詳細については、https://dotnet-fullstack-dev.blogspot.com/
をご覧ください。 ?共有していただければ幸いです。 ?

主キーと外部キー

  • 主キー: 主キーは、テーブル内の各レコードを一意に識別します。 NULL 値を含めることはできず、一意の値を含める必要があります。
  • 外部キー: 外部キーは、2 つのテーブルをリンクするために使用されます。これは、あるテーブルのフィールド (またはフィールドのコレクション) であり、別のテーブルの主キーを参照します。

クラスター化インデックスと非クラスター化インデックス

  • クラスター化インデックス: クラスター化インデックスは、キー値に基づいてテーブルのデータ行を並べ替えて保存します。クラスタ化インデックスはテーブルごとに 1 つだけ存在できます。
  • 非クラスター化インデックス: 非クラスター化インデックスは、データ行へのポインターを含む、データ行とは別の構造を格納します。テーブル上に複数の非クラスター化インデックスを作成できます。

内部結合と外部結合

  • INNER JOIN: 両方のテーブルに少なくとも 1 つの一致がある場合に行を返します。
  • OUTER JOIN: LEFT JOIN、RIGHT JOIN、FULL JOIN のいずれかに応じて、いずれかのテーブルで一致する値を持つ行と、一方または両方のテーブルの不一致行を返します。

どこにいるか、持っているか

  • WHERE: 結果セットでグループ化が行われる前にレコードをフィルターします。
  • HAVING: GROUP BY 句が適用された後にレコードをフィルターします。

ユニオン対ユニオンオール

  • UNION: 2 つのクエリの結果セットを結合し、最終的な結果セットから重複レコードを削除します。
  • UNION ALL: すべての重複を含む 2 つのクエリの結果セットを結合します。

削除と切り捨て

  • DELETE: 一度に 1 行ずつ削除し、各削除をログに記録します。
  • TRUNCATE: データ ページの割り当てを解除して、テーブルからすべての行を削除します。 DELETE よりも高速で、使用するシステム リソースも少なくなります。

ドロップと削除

  • DROP: システムからテーブルまたはデータベースを削除します。
  • DELETE: テーブルから行を削除しますが、テーブル自体は削除しません。

CHAR と VARCHAR の比較

  • CHAR: データの長さに関係なく、常に同じ量の記憶領域を使用する固定長データ型。
  • VARCHAR: データの実際の長さに基づいて記憶領域を使用する可変長データ型。

トランザクションとセーブポイント

  • TRANSACTION: 単一の作業単位として実行される一連の SQL 操作。すべての操作が成功するか、何も成功しないかのどちらかが保証されます。
  • SAVEPOINT: トランザクション全体に影響を与えることなくロールバックできるトランザクション内のポイントを設定します。

サブクエリ vs. ジョイン

  • SUBQUERY: 別の SQL クエリ内にネストされたクエリ。
  • JOIN: テーブル間の関連する列に基づいて、1 つ以上のテーブルの列を結合します。

理解しやすく、長く覚えられるようにするため。表形式の教育方法に合わせて、学生時代を思い出すはずです。

コンセプト 1 コンセプト 2 比較
主キー 外部キー 主キー: テーブル内の各レコードを一意に識別します。 外部キー: 2 つのテーブル間の関係を確立します。あるテーブルの外部キーは、別のテーブルの主キーを指します。
クラスター化インデックス 非クラスター化インデックス クラスター化インデックス: テーブル内のデータの物理的な順序を決定し、テーブルごとに 1 つだけ存在できます。 非クラスター化インデックス: これにより、データの物理的な順序は変更されません。テーブルごとに複数の非クラスター化インデックスが存在できます。
内部結合 外部結合 INNER JOIN: 両方のテーブルに一致する値を持つレコードを返します。 OUTER JOIN: 左テーブル (LEFT JOIN)、右テーブル (RIGHT JOIN)、または両方のテーブル (FULL JOIN) に一致する場合、すべてのレコードを返します。
どこ 持っています WHERE: グループ化を行う前にレコードをフィルタリングします。 HAVING: GROUP BY 句が適用された後にレコードをフィルターします。
ユニオン すべてを結合 UNION: 2 つのクエリの結果セットを結合し、重複するレコードを削除します。 UNION ALL: 重複を削除せずに 2 つのクエリの結果セットを結合します。
削除 切り詰め DELETE: 一度に 1 行ずつ削除し、各行の削除をログに記録します。 TRUNCATE: 個々の行の削除をログに記録せずに、テーブルからすべての行を削除します。
ドロップ 削除 DROP: データベースからテーブルを完全に削除します。 DELETE: 条件に基づいてテーブルから行を削除します。テーブル構造はそのまま残ります。
チャー VARCHAR CHAR: 固定長データ型。常に指定された長さを占めます。 VARCHAR: 可変長のデータ型。データの保存に必要なスペースのみを占有します。
トランザクション セーブポイント TRANSACTION: 単一の論理的な作業単位として実行される一連の操作。 SAVEPOINT: 後でロールバックできるトランザクション内のポイントを設定できます。
サブクエリ 参加 SUBQUERY: 別のクエリ内にネストされたクエリ。 JOIN: テーブル間の関連する列に基づいて、1 つ以上のテーブルの列を結合します。

結論

これらの主要な SQL 概念の違いを理解することは、効果的なデータベース設計とクエリの最適化にとって重要です。これらの概念を並べて比較することで、MS SQL 内でのそれらの明確な役割と使用例を明確にできればと考えています。パフォーマンスの最適化、データの整合性の確保、複雑なクエリの管理のいずれを行う場合でも、これらの比較は便利なリファレンスとして役立ちます。

以上がこれらの比較は SQL の概念全体をカバーしています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。