Schema & SQL
データ間のさまざまな関係を理解する(チェック)
データ間の関係を記述する言語(SQL)を習得します.
データベースを合理的かつ効率的に整理する方法について説明します.(検出)
SQLクエリーを作成してデータベースで関連情報を検索する方法について
👊 schema?
スキーマは、データベース内のデータの組織方法と異なるエンティティ間の関係の説明です.
データの定義方法、およびデータ間の関係を確立する方法に必要なアーキテクチャ
データベース青写真
🎟 データ(data):各項目に格納される値
🎟 ≪エンティティ|Entity|oraolap≫:情報の一意の単位.エンティティは表として表示されます.
表は関係とも呼ばれます.
各エンティティには、特定のフィールドに加えてIDフィールドが含まれます.
🎟 フィールド(Fields):各エンティティには、その特性を記述するフィールドがあります.マトリクスの場合はカラム(column)
🎟 レコード:テーブルに格納されているアイテム.行列内の行(行)
🎟 Primary Key:各テーブルのユニークID
🎟 外部キー:2つのテーブルを結合するキー
🎟 リレーショナル・データベース
構造化データは1つのテーブルで表すことができます.テーブルを使用するデータベースをリレーショナル・データベースと呼びます.
👊 SQL
🗣 SQL内蔵関数
≪集約演算|Aggregate Operations|oraolap≫:クエリーと分類レコードを実行し、特定の操作の演算を実行します.
🎟 GROUP BY
SELECT * FROM customers // customers 테이블의 모든 레코드를 조회
GROUP BY State // customers 테이블의 모든 레코드를 State에 따라 그룹화
🎟 HAVING
HAVINGを使用して、
SELECT CustomerId, AVG(Total)
FROM invoices
GROUP BY CustomerId
HAVING AVG(Total) > 6.00
// invoice테이블을 CustomerId로 그룹화하고 그 평균이 6을 초과한 결과를 조회
ご注意をHAVINGはパケット結果に対するフィルタであり、WHEREは保存されたレコードに対するフィルタである.したがって、実際のパケット化前にデータをフィルタリングする必要がある場合は、WHEREを使用する必要がある.
🎟 COUNT()
SELECT *, COUNT(*) FROM customers
GROUP BY State;
// 각 State에 해당하는 레코드의 개수를 확인하는 COUNT 함수 사용예시
🎟 SUM()
SELECT InvoiceId, SUM(UnitPrice)
FROM invoice_items
GROUP BY InvoiceId;
// 위 커맨드는 invoice_items라는 테이블에서 Invoiced 필드를 기준으로 그룹하고, UnitPrice 필드 값의 합을 구한다.
🎟 AVG()
SELECT TrackId, AVG(UnitPrice)
FROM invoice_items
GROUP BY TrackId;
🎟 MAX(), MIN()
次の例でMAXを見つけたい場合は、MINをMAXに変換します.
SELECT CustomerId, MIN(Total)
FROM invoices
GROUP BY CustomerId
SELECT実行手順を呼び出す
FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
SELECT CustomerId, AVG(Total)
FROM invoices
WHERE CustomerId >= 10
GROUP BY CustomerId
HAVING SUM(Total) >= 30
ORDER BY 2
Reference
この問題について(Schema & SQL), 我々は、より多くの情報をここで見つけました https://velog.io/@soyoungdl/Schema-Query-Designテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol