🥞

新卒研修で触ったクエリ文①

2021/05/24に公開

新卒研修で触ったクエリ文②

クエリ言語とは・・・データベースへ問い合わせする(操作)際に用いいられる言語、SQLで用いいられる際はSQL文という

処理順序

処理は単純に上から下に走ってるのではなく、決められた順序がある

  1. FROM
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. ORDER BY

取得

基礎条件

SELECT *(カラム) FROM テーブル
WHERE (テーブル.)カラム1 = 期待値; 
  • SELECT 👉 取得したいデータのカラム
  • FROM 👉 取得したいデータのテーブル
  • WHERE 👉 条件をかける、同じテーブルなら条件指定の際にカラムの指定だけで済む
WHERE カラム1 IN(期待値1,期待値2); 
  • IN 👉 使うことでカラム1 = 期待値1 OR 期待値2に当てはまっていればいいと言う意味になる
WHERE カラム1 (NOT) BETWEEN 期待値1 AND 期待値2; 
  • BETWEEN,AND 👉 テーブルのカラム1 = 期待値1 〜 期待値2のデータを取得
    • NOTを前につけて期待値1 〜 期待値2以外のデータを取得
WHERE カラム1(文字列) LIKE "文字列%";
  • LIKE 👉 大文字小文字を区別しない文字列を検索する条件
    • %を後方につけることで文字列が途中まで一致してるものを検索でき、部分一致にしたい時は前後につける

並び替え

ORDER BY カラム ASC(DESC)
LIMIT 4 OFFSET 5;
  • ORDER BY 👉 カラムの昇降順でデータを取得
  • LIMIT 👉 データをいくつまでを取得できるかを制限でき、OFFSETははじめのデータX個分をスキップし、次のデータから取得する(ここでいうなら5個分)
ORDER BY カラム1,カラム2 ASC(DESC);
  • 多重ソート 👉 カラム1でソートその中で重複してるデータの中をカラム2でソートする

グループ化

GROUP BY カラム1
HAVING カラム1 = 期待値;
  • GROUP BY 👉 指定したカラムの値を基準としてグループ化することができる
  • HAVING 👉 WHEREと一緒、WHEREとの違いはGROUP BY後に条件記述できるところ 👉 処理順序

集計関数

SELECT カラム1SUM(カラム2) FROM テーブル
  • COUNT 👉 データのレコード数を取得
  • AVG 👉 データの平均を取得
  • SUM 👉 データの合計を取得
  • MAX 👉 データの最大値を取得
  • MIN 👉 データの最小値を取得

NULL

WHERE カラム IS (NOT) NULL;
  • IS NULL 👉 NULLのデータを取得
  • IS NOT NULL 👉 NULL以外のデータを取得

別名変換

SELECT カラム AS 別名 FROM テーブル;
SELECT (カラム1 + カラム2) * 100 > 20 AS 別名 FROM テーブル名;
  • AS 👉 カラム名、もしくは条件を別名で扱える
    • 複雑な条件結果でも楽に運用できる

編集

データの編集

INSERT INTO テーブル VALUES (,'文字列');
  • INSERT INTO 👉 データを入れたいテーブルを指定
  • VALUES 👉 入れたいデータ
UPDATE テーブル SET カラム1 =, カラム2 = 値・・・ WHERE (条件);
  • UPDATE 👉 データを更新したいテーブルを指定
  • SET 👉 更新したいデータ
DELETE FROM テーブル WHERE 条件;
  • DELETE FROM 👉 テーブル内のデータを削除

テーブルの編集

CREATE TABLE テーブル(
    PRIMARY KEY (id)
    カラム1 データ型を指定 オプション
    カラム2 INT AUTO_INCREMENT,
    カラム3 VARCHAR(可変数) DEFAULTNOT NULL,
  • CREATE TABLE 👉 テーブルの作成
  • PRIMARY KEY 👉 プライマリーキーの作成
  • AUTO_INCREMENT 👉 自動で整数が入る
  • DEFAULT 👉 デフォルト値指定
  • NOT NULL 👉 NULL許容
DROP TABLE IF EXISTS テーブル;
  • DROP TABLE IF EXISTS 👉 テーブルの削除
ALTER TABLE  テーブル名 RENAME  新テーブル名;
ALTER TABLE テーブル ADD カラム データ型指定;
ALTER TABLE テーブル CHANGE カラム名 新カラム名 データ型指定;
ALTER TABLE テーブル DROP カラム;
  • ALTER TABLE 👉 テーブルへの更新宣言
    • RENAME 👉 テーブル名変更
    • ADD 👉 テーブルにカラム追加
    • CHANGE 👉 カラム名変更
    • DROP 👉 カラム名変更
GitHubで編集を提案

Discussion