基本SQL概念


事前の要件


PostgreSQLとpsql - cliをシステムにインストールします


PostgreSQLとpsql - cliをシステムにインストールしていない場合は、次の手順に従ってくださいlink .

psqlの役割を作成する


私は、名前をつけましたfahid psqlでは.指示に従ってくださいlink 役割を作成する(好ましくは、あなたのコンピュータ名を持つ役割).

Postgreeプロンプトへのアクセス


これらのコマンドのいずれかを使用してPostgreeプロンプトにアクセスします.置換fahid with your_username .
psql
OR
psql -U fahid
起動する前にデータベースを作成しますsample psqlシェルでは.

空のデータベースサンプルを作成する


空のデータベースを作成するには、Postgreプロンプトで次のコマンドを実行します.(注:; )
CREATE DATABASE sample;
データベースを確認するにはsample が作成され、Postgreeシェルで次のコマンドを使用してデータベースを一覧表示します.
\list
データベースを見ることができるはずですipl あなたのユーザ名を所有者としてデータベースのリストに.

サンプルデータベースへの接続


データベースに接続するには
\c sample

6 .内容をデータベースにコピーする


ダウンロードしてください sample.sql あなたのコンピュータに.
今、コンテンツをデータベースにコピー/インポートするには
\i /path/to/the/file/sample.sql

6 .データベースにテーブルを表示する


これを実行してデータベースに表を表示します.
\dt
すべての利用可能なテーブルを見ることができますsample データベース.

SELECT文


最も基本的なステートメントはSELECT文です.それはテーブルからレコードをretreiveすることができます.
  • 列をすべてリトライします.
  • SELECT * FROM customer;
    
  • 具体的には1つ以上のカラムを選択します.
  • SELECT cust_code, cust_name, cust_city, working_area FROM customer;
    

    条件


    SELECT文の条件を持つには、WHERE条件を使用できます.
    SELECT cust_code, cust_name, cust_city FROM customer
    WHERE cust_city = 'London';
    
    次の出力を取得します.
     cust_code | cust_name | cust_city 
    -----------+-----------+-----------
     C00013    | Holmes    | London
     C00024    | Cook      | London
     C00015    | Stuart    | London
     C00023    | Karl      | London
    

    AND演算子


    追加の条件を追加したり、テーブルをフィルタリングしたりできますAND or OR 演算子
    SELECT cust_code, cust_name, cust_city FROM customer
    WHERE cust_city = 'London' OR cust_city = 'New York';
    

    Selecting Grade 1 customers in India


    SELECT cust_code, cust_name, cust_city, grade FROM customer
    WHERE cust_country = 'India' AND grade = 1;
    

    オーダーバイバイ


    特定の列でテーブルを注文するには、Order by句を使用できます.
    SELECT cust_code, cust_name, cust_city, payment_amt
    FROM customer
    ORDER BY payment_amt;
    
    結果を降順に並べるにはDESC キーワード.
    SELECT cust_code, cust_name, cust_city, payment_amt
    FROM customer
    ORDER BY payment_amt DESC;
    

    明瞭


    重複を削除し、個別の要素を選択するには、個別のキーワードを使用します.
    SELECT DISTINCT cust_city
    FROM customer;
    

    の間


    範囲内のデータを選択するには、との間で使用することができます.
    SELECT cust_code, cust_name, payment_amt
    FROM customer
    WHERE payment_amt BETWEEN 6000 AND 8000;
    

    ライク


    を使用します._ は1文字にマッチし、% は0文字以上にマッチします.

    Customers starting with the name 'Ra'


    SELECT cust_code, cust_name, cust_city
    FROM customer
    WHERE cust_name LIKE 'Ra%';
    

    カウント


    結果の数をカウントするには
    SELECT COUNT(cust_name)
    FROM customer
    WHERE cust_name LIKE 'Ra%';
    

    その他の集約関数


    キーワード
    用途
    合計
    合計を計算する
    AVG
    平均を計算する

    列の最小値を見つける
    マックス
    列の最大値を見つける

    AS


    SQLで別名として使用できます
    SELECT COUNT(cust_name) AS total
    FROM customer
    WHERE cust_name LIKE 'Ra%';
    

    グループバイ


    group byは、同じ行を同じ行の行をグループ化するために使用されます
    SELECT DISTINCT cust_country, COUNT(*) AS count
    FROM customer
    GROUP BY cust_country;
    

    有する


    To select countries having count greater than 4


    SELECT DISTINCT cust_country, COUNT(*) AS count
    FROM customer
    GROUP BY cust_country
    HAVING COUNT(*) > 4;
    

    結合


    エーJOIN つのテーブルから行を結合するために使用されます.ON キーワードはCoommonカラムを指定するために使用されます

    副問い合わせ


    クエリ内でクエリを使用して出力データをさらに制限することができます
    SELECT * FROM customer 
    WHERE cust_code IN 
    (SELECT cust_code 
    FROM customer 
    WHERE payment_amt <  6000);
    

    削除


    完全なテーブルを削除するには
    DELETE FROM customer;
    
    また、特に行を削除するために他の条件を使用することもできます.
    DELETE FROM customer
    WHERE cust_name = 'Steven';
    

    ドロップ


    テーブルを完全に削除するには、
    DELETE TABLE customer;
    

    結論


    このシリーズの次に、いくつかのデータベース理論的概念を議論します.