#author("2018-03-14T16:45:08+09:00","","") #author("2018-03-14T16:46:17+09:00","","") [[SQL_Entry]] #contents * Top SQL Entry [#gd600b37] ** Entry [#od6cc170] あなたがSQLの初心者であれ、 SQLをちょっと復習したいデータ ウェアハウス業界の経験豊かな人であれ、いいところに来られました。この SQL教材のサイトは、よく使われる SQL コマンドが掲載してあります。このサイトは以下のように分かれます。 - SQL コマンド: SQL がどのように保存、読み込み、又はデータベース内のデータ処理に使われること。 - テーブル処理: データベース内のテーブル作成にSQL がどのように使われること。 - SQL プログラミング: 当該教材に提示される SQL プログラミングを示すページ。 各コマンドについては、あらかじめ、当該プログラミングを示し、説明します。それから、そのコマンドの使い方をよく理解させるように、例を一つ挙げます。このサイトにおけるすべての教材を読み終えたとき、 SQL プログラミングについて、大まかな理解ができるはずだと思います。 そして、 SQL を正確に利用して、データベースから必要な情報を手に入れることができるでしょう。筆者自身の経験から言えば、短い時間ではSQLを徹底的に理解するのが難しいが、 SQLに対する基本的な理解なら、そんなに難しくないのです。 このサイトを全部ご覧のうえ、筆者と同じような考えを持っていただければと思います。 いますぐこのサイトを ブックマークしておけば、 いつでもアクセスできますから。それでは、 ここからSQLを勉強しはじめましょう! 注意: SQL 又はデータベース関連の授業を教えていらっしゃる場合、補助資料として、このサイトへのリングをどうぞ。 ** SQL SELECT [#sd5dee9d] SQL > SQL コマンド > Select SQL って、何に使われるんでしょうか。データベース内のテーブルからデータを選ぶことはよく使われることの一つ。このセンテンスの答えから、すぐ分かる二つのキーワード: データベース内のテーブル (FROM) 選ぶ (SELECT) こと (テーブルはは一つのデータベース內の仕組みで、データの保存に使われるためです。 テーブル処理の部分に、どのように SQLを使って、テーブルの設定を行うのか説明します )。私たちは、ここから最も基本なSQL の仕組みを見ましょう。 SELECT "フィールド名" FROM "テーブル名"; 以下の例を使って、実際の使い方を見ましょう。仮に次のようなテーブルがあります。 Store_Information テーブル Store_Name Sales Txn_Date Los Angeles 1500 Jan-05-1999 San Diego 250 Jan-07-1999 Los Angeles 300 Jan-08-1999 Boston 700 Jan-08-1999 すべての店の名前 (Store_Name)を選ぶ場合、を入力すると、 SELECT Store_Name FROM Store_Information; の結果ができます、 Store_Name Los Angeles San Diego Los Angeles Boston 一回で幾つかのフィールドを読み込むことができるし、テーブル内のデータを幾つも選ぶこともできます。 SQL DISTINCT >> ** SQL DISTINCT [#pd1bfd1e] SQL > SQL コマンド > Distinct SELECT コマンドを使って、テーブル内の一つ又は複数のフィールドの全データを読み込むことができます。同じ数値が繰り返されたとしても、すべてのデータが読み込まれることになります。データ処理の際、どんな違う数値があるのかといった問題がよくでます。言い換えれば、各数値が出た回数というよりも、そのテーブル/フィールドの中にどんな違う数値があるのか分からなければならないのです。それがどうやってわかるんでしょうか。SQL では、これは簡単にできること。 SELECT の後に DISTINCT を付け加えればOK。 DISTINCT のプログラミングは次のようになります。 SELECT DISTINCT "フィールド名" FROM "テーブル名"; 例を挙げましょう。仮に、次のテーブル Store_Information から異なる店の名前を見つける場合、 Store_Information テーブル Store_Name Sales Txn_Date Los Angeles 1500 Jan-05-1999 San Diego 250 Jan-07-1999 Los Angeles 300 Jan-08-1999 Boston 700 Jan-08-1999 を入力すると、 SELECT DISTINCT Store_Name FROM Store_Information; の結果ができます、 Store_Name Los Angeles San Diego Boston SQL WHERE >> ** SQL WHERE [#cc3efbd3] SQL > SQL コマンド > Where 私たちは必ずしも、毎回テーブル內のデータをすべて読み込むとは限りません。多くの場合、データを選択的に読み込むのです。例を挙げて説明しましょう。売上が$1,000以上のデータのみを読み込む場合にします。その場合、 WHERE コマンドを使います。このコマンドのプログラミングは次のようになります。 SELECT "フィールド名" FROM "テーブル名" WHERE "条件"; 仮に、次のテーブルから売上が $1,000 以上のデータを読み込む場合、 Store_Information テーブル Store_Name Sales Txn_Date Los Angeles 1500 Jan-05-1999 San Diego 250 Jan-07-1999 Los Angeles 300 Jan-08-1999 Boston 700 Jan-08-1999 を入力すると、 SELECT Store_Name FROM Store_Information WHERE Sales > 1000; の結果ができます、 Store_Name Los Angeles SQL AND OR >> ** SQL AND OR [#t8b0fbc7] SQL > SQL コマンド > And Or 前のページには、 WHERE コマンドで、テーブルから条件づけのデータを読み込むことを説明しました。その条件は簡単な場合(前のページの例)もあり、複雑な場合もあります。複雑条件は二つ又は複数の簡単条件を、 AND 又は OR によって組み合わせたもの。一つの SQL プログラミングの中に数が制限されない簡単条件が存在可能。 複雑条件のプログラミングは次のようになります。 SELECT "フィールド名" FROM "テーブル名" WHERE "簡単条件" {[AND|OR] "簡単条件"}+; {}+は表{}の中の状況は、一つ又は複数の発生が可能になることを意味します。ここでは、 AND に簡単条件をプラスし、及び OR に簡単条件をプラスした状況が一つ又は複数の発生が可能になることを示します。なお、 ( ) を使って、条件の優先順序を表します。 例えば、仮に Store_Information テーブルから、Sales が $1,000 以上、又はSales が $500 及び $275 の間にあるデータをすべて読み込む場合、次のように入力します。 Store_Information テーブル Store_Name Sales Txn_Date Los Angeles 1500 Jan-05-1999 San Diego 250 Jan-07-1999 San Francisco 300 Jan-08-1999 Boston 700 Jan-08-1999 を入力すると、 SELECT Store_Name FROM Store_Information WHERE Sales > 1000 OR (Sales < 500 AND Sales > 275); の結果ができます、 Store_Name Los Angeles San Francisco SQL IN >> ** SQL IN [#c1a90ea1] ** SQL BETWEEN [#oe42707f] ** SQL LIKE [#z5e4c11e] ** SQL ORDER BY [#o4362d1b] ** SQL 関数 [#qe6d9802] ** SQL COUNT [#c0caeaea] ** SQL GROUP BY [#c761da25] ** SQL HAVING [#sd6055ad] ** SQL 別名 [#v42c601d] ** SQL 結合 [#db5faaae] ** SQL 外部結合 [#o2de989b] ** SQL Subquery [#r6308d85] ** SQL UNION [#l7e364d9] ** SQL UNION ALL [#x2d64e3b] ** SQL INTERSECT [#j1e182c2] ** SQL MINUS [#bbd79e9c] ** SQL CONCATENATE [#rf5f36fa] ** SQL SUBSTRING [#b1187ddb] ** SQL TRIM [#d09873dc] ** SQL CREATE TABLE [#lff9ac32] ** SQL CREATE VIEW [#s5f08340] ** SQL CREATE INDEX [#cd1d751f] ** SQL ALTER TABLE [#se668091] ** SQL 主キー [#v9de6a63] ** SQL 外来キー [#aac70b89] ** SQL DROP TABLE [#he79a95e] ** SQL TRUNCATE TABLE [#x55afd73] ** SQL INSERT INTO [#c71384c3] ** SQL UPDATE [#pfba7cb2] ** SQL DELETE FROM [#b2a8630a] ** サイトのご案内 [#k5a3773d] ** 英語 [#k38dec57] * Reference [#cc2068af] https://www.1keydata.com https://www.1keydata.com/jp/sql/