DQL言語(データベースクエリ言語)

 1.基本的なクエリ

構文:

テーブル名からクエリリスト選択します

   

機能:
リストは次のとおりです。テーブル内のフィールド、定数値、式、関数

クエリの結果は仮想テーブルです

1. 単一のフィールドをクエリする

従業員からlast_nameを選択します。

2. クエリテーブルの複数のフィールド

従業員からのlast_name、salary、emailを選択します。

3. すべてのデータをクエリする

従業員から*を選択します。

4. 定数、式、関数のクエリ

定数を選択;

100 * 98を選択します。

select version();

5. エイリアスから

  1. 方法1:キーワードとして使用

    last_name as 、first_name as から従業員を選択します

  2. 方法2:スペースを使用する

    従業員からlast_name姓、first_name 名を選択します

  3. キーワードをエイリアスとして使用する場合は、一重引用符または二重引用符を追加します

    従業員から給与を「アウトプット」として選択します。

6. 重複排除

すべてのセクターにおける事例お問い合わせ番号

従業員からDISTINCT department_idを選択します

7 + の役割

mysqlのプラス記号には、演算子という1つの関数しかありません。

ケース

100 + 90を選択します。両方が数値である限り、追加できます

'123' + 90を選択します。そのうちの1つが文字タイプの場合は、文字タイプを数値タイプに変換してみてください。

変換が成功した場合は、追加を続けます

「json」+ 90を選択します。失敗した場合は、文字タイプを0に割り当てて追加します

null + 90を選択します。片側がnullである限り、結果はnullです

8. スプライシング

選択CONCATとして(LAST_NAME、FIRST_NAME)の姓名

ステッチフィールドがnullの場合、それはnullになります

   

9. 空の場合

従業員からifnull(commission_pct、0)as 奖金率commission_pctを選択します

ケースステートメントのネストされた使用

従業員のout_putとしてCONCAT(last_name、first_name、 'job_id'、ifnull(commission_pct、0))を選択します。

2.条件付きクエリ

1. 文法規則

選択したクエリのリストからテーブル名をどこクエリ

2. 分類

条件式スクリーニングに従っ

簡単な条件演算子:!>、<、<>、=、=、> =、<=(ここで、 <> != イコール

論理式によるフィルタ

を使用して2つの条件を接続する

3.ファジークエリ

1 、いいね

機能は任意のワイルドカードで使用できます

ワイルドカード:

%0文字を含む任意の数の文字

_任意の1文字

事例検索人物の名前が含まれています。

last_nameが '%a%'のような従業員から選択します。

事例クエリ3番目のワードは、名前oを持っています

last_nameが '__o%'のような従業員から*を選択します。

ケース名のクエリ名は、アンダースコアが含まれています。

last_nameが '_ \ _%'のような従業員から*を選択します。

select * from employees where last_name like '_ $ _%' escape '$'; // Escapeは$をエスケープ文字に変更します

2 、〜の

  • betweenとを使用すると、コードの単純さが向上します
  • クリティカルポイントを含む
  • 臨界点は逆転できない

3

フィールドの値がリストの列に属しているかどうかを判別する

意味:

  • orを使用するよりもinを使用する方が良い
  • inリストの値は、inタイプと一致している必要があります

ケース

ジョブタイプがIT_PROT、AD_VPの人をクエリ

   

'_ $ _%'のようなlast_nameが '$'をエスケープする従業員から*を選択します。

4 null

空かどうかを確認する

事例ボーナスが空であるかどうかを判断します

Commission_pctがnullである従業員からlast_name、salary、commission_pctを選択します。

ケース賃金が12,000の従業員であるかを決定

給与<=> 12000の従業員からlast_name、salary、commission_pctを選択します。

nullである比較<=>

Is nullは、null値の読みやすさを比較する場合にのみ推奨されます

<=>さまざまな値を比較できますが、nullに限らず、読みやすさが劣ります

4. クエリの並べ替え

構文:

クエリリストを選択

テーブル名から

[ ここで、フィルタ]

順序リストを並べ替え[ ASC | DESC ]

   

#1 、単一のフィールドでソート

SELECT * FROM従業員ORDER BY salary DESC;

   

#2 、フィルター条件を追加してから並べ替え

   

#Case:部門番号> = 90の従業員情報をクエリし、従業員番号の降順で降順

   

選択する *

従業員から

WHERE department_id> = 90

ORDER BY employee_id DESC;

   

   

#3 、式でソート

#Case:年間給与の降順で従業員情報をクエリする

   

   

SELECT *、salary * 12 *(1 + IFNULL(commission_pct、0))

従業員から

ORDER BY salary * 12 *(1 + IFNULL(commission_pct、0))DESC;

   

   

#4 、エイリアスでソート

#Case:年収の昇順で従業員情報をクエリする

   

SELECT *、給与* 12 *(1 + IFNULL(commission_pct、0))年間給与

従業員から

年間給与ASCによる注文。

   

#5 、機能でソート

#Case:従業員名を照会し、名前の長さに従って降順で並べ替えます

   

SELECT LENGTH(last_name)、last_name

従業員から

ORDER BY LENGTH(last_name)DESC;

   

#6 、複数のフィールドで並べ替え

   

#Case:従業員情報をクエリし、給与で降順を要求してから、employee_idで昇順で要求

選択する *

従業員から

ORDER BY salary DESC、employee_id ASC;

  

おすすめ

転載: www.cnblogs.com/yuknight/p/12744617.html