sql接続クエリー、サブクエリー、ページングクエリー
3417 ワード
ないぶせつぞく
内部ジョインクエリ、有効なデカルト積の除去は、次の2つに分けられます.暗黙的内部接続:select*from A別名1、B別名2 where別名1.xx=別名2.xx; は内部接続を示します:select*from A別名1 inner join B別名2 on別名1.xx=別名2.xx;(innerは省略可能) 使用する比較方法によって、内部接続は等値接続、自然接続、自己接続の3種類に分けられます等値接続:"="関係を使用してテーブルを接続するクエリー.クエリーの結果、接続されたテーブルのすべてのカラムがリストされます.重複カラムが含まれます. 自然接続:等値接続で重複する列を削除し、形成された接続; 自己接続:1つの接続クエリーで、関連する2つのテーブルは同じテーブルです.
自己接続の例を示します.
左外部ジョインと右外部ジョインに分けて、1つのテーブルに別のテーブルにないレコード・クエリーの結果=内部ジョインの結果+プライマリ・テーブルにテーブルからないレコードがあることをクエリーします.左外接続:select*from A left join B on条件(メインテーブルはA)左外接続は等値接続にメインテーブルの未整合データ を加える.右外部接続:select*from A right join B on条件(メインテーブルはB) 全外接続は、左外接続と右外接続の集合 である.
サブクエリ
サブクエリは、クエリにクエリがあり、1つのselect文の結果が別のselect構文の一部(クエリ結果、クエリ条件、テーブルなど)として使用されます.
例えば、当社で最も給料が高い従業員の詳細を調べる
行サブクエリ(1行複数列、複数行複数列):1行複数列の例
表示されたデータが1ページで表示されない場合は、構文をページングする必要があります.最後にlimit[offset,]sizeを追加します.offset::表示する開始インデックス(0から)size:表示するエントリの数
たとえば、最初の5つの従業員情報を問い合わせる
内部ジョインクエリ、有効なデカルト積の除去は、次の2つに分けられます.
自己接続の例を示します.
select e.name,m.name
from employees e
join employees m
on e.id = m.id;
がいぶせつぞく左外部ジョインと右外部ジョインに分けて、1つのテーブルに別のテーブルにないレコード・クエリーの結果=内部ジョインの結果+プライマリ・テーブルにテーブルからないレコードがあることをクエリーします.
サブクエリ
サブクエリは、クエリにクエリがあり、1つのselect文の結果が別のselect構文の一部(クエリ結果、クエリ条件、テーブルなど)として使用されます.
例えば、当社で最も給料が高い従業員の詳細を調べる
select*
from emp
where sal=(
select max(sal)
from emp
);
条件としては、=,>,=,<=,!=を使用できます.複数行単列:All ANY IN not INの例:select*from emp where sal>All(select sal from emp where tno=1)行サブクエリ(1行複数列、複数行複数列):1行複数列の例
select *
from employees
where (employees.sal)=(
select min(sal),max(sal)
from employees
);
ページ別に照会する表示されたデータが1ページで表示されない場合は、構文をページングする必要があります.最後にlimit[offset,]sizeを追加します.offset::表示する開始インデックス(0から)size:表示するエントリの数
たとえば、最初の5つの従業員情報を問い合わせる
select * from employees limit 0,5;