SQLとは何ですか?
リレーショナルデータベース管理システム(RDBMS)には、多くのテーブルが含まれています。これらのテーブルは、データベースの基本的なストレージです。テーブルには、顧客、従業員、部門など、現実の世界の何かに関する情報が含まれています。データベース内のテーブルには、0から多数の行が含まれています。
「SQL」または「sequel」と発音される「StructuredQueryLanguage」の略であるSQL。 SQLは、データベースの1つ以上のデータテーブルと行の情報にアクセスして変更するために使用されるクエリ言語です。
SQLには次の利点があります
1)効率的
2)記述が簡単
3)テーブル内のデータを完全に取得して操作するために使用できるため、機能的に完全です
関連 :Oraclesqlデコード処理
これはANSI/ISO規格です。これは、ほとんどのリレーショナルデータベース管理システム(RDBMS)で使用される標準のユニバーサル言語になっています。 RDBMSシステムには、Oracle、Microsoft SQLサーバー、Sybase、MySQL、Postgres、teradataなどがあります。
SQLクエリの記述に役立つSQLの基本のいくつか
選択 :RDBMSからデータを取得するために使用されます
挿入 :RDBMSに新しい行を挿入するために使用されます
更新 :RDBMSの行を更新するために使用されます
SQLは、一度に1つのレコードではなく、レコードのグループでデータを処理する、手続き型ではない英語のような言語であると言えます。
SQLクエリの記述方法
1)最初に要件を理解する必要があります。つまり、どの列が必要か、すべてのテーブルが使用されるかなどです。
2)すべてのRDBMSは同じSQL形式ですが、構文が異なる場合があります。そのため、特定のデータベースマニュアルを参照してください。それについて学ぶ
3)データを取得するだけの場合は、selectが最初に使用するキーワードです
a)データを取得する必要があるテーブルを記述しなければなりません
b)選択します要件に応じた列
c)フィルタ条件がある場合は、それを指定する必要があります
d)複数のテーブルがある場合は、結合条件を使用する必要があります
e)フィルタリングはwhere句を使用して実行できます
g)order byを使用して、データを昇順または降順で表示できます
h)group by関数を使用して、合計、平均などを見つけることができます
関連: Oracle sqlチュートリアル:基本的なSQLステートメント
SQLクエリの例
1)
select emp_id,sal from emp where sal > 10000;
ここで、emp_id、salは選択された列です
empはテーブルです
ここでsal>10000はフィルター条件です
2)テーブル内のデータを操作している場合は、更新または挿入を使用する必要があります
例
update emp set sal=120000 where emp_id=2;
ここ
empはテーブルです
updateは操作のキーワードです
setはupdateと組み合わせて使用されるキーワードです
sal=12000は操作です
ここでemp_id=2はフィルター条件です
emp('emp_name'、'emp_id'、'dept_no'、'salary')の値('Tom hanks'、569797,45,1000000);
に挿入します。ここ
empテーブルに挿入しています。
3)複数のテーブルが含まれる場合、結合条件が必要になる場合があります
Example select emp_name,emp_no,dept_no,dept_name from emp ,dept where emp.dept_no=dept.dept_no;
ここ
Empとdeptはテーブルです
両方のテーブルでdept_noが等しいレコードを選択しています。これは内部結合の例です
これらは、SQLで使用可能なさまざまなタイプの結合です-
INNERJOIN-両方のテーブルに一致する場合に行を返します。
LEFT JOIN-右側のテーブルに一致するものがない場合でも、左側のテーブルからすべての行を返します。
RIGHT JOIN-左側のテーブルに一致するものがない場合でも、右側のテーブルからすべての行を返します。
FULL JOIN-テーブルの1つに一致する場合、行を返します。
SELF JOIN-は、テーブルが2つのテーブルであるかのようにテーブルをそれ自体に結合するために使用され、SQLステートメントの少なくとも1つのテーブルの名前を一時的に変更します。
CARTESIAN JOIN −2つ以上の結合されたテーブルからのレコードセットのデカルト積を返します。
4)ある列でデータグループを取得する必要がある場合は、groupbyが使用されます
SELECT dept, SUM (salary) FROM employee GROUP BY dept;
ここでは、部門ごとにすべての従業員の給与を合計しています
5)従業員の給与でempテーブルを並べ替える場合、SQLクエリは次のようになります。
SELECT name, salary FROM emp ORDER BY salary;
6)行を削除する場合、SQLクエリは
delete from emp where emp_id='798696';