1.基本的なクエリ
構文:
テーブル名からクエリリストを選択します。
機能:
リストは次のとおりです。テーブル内のフィールド、定数値、式、関数
クエリの結果は仮想テーブルです
1. 単一のフィールドをクエリする
従業員からlast_nameを選択します。
2. クエリテーブルの複数のフィールド
従業員からのlast_name、salary、emailを選択します。
3. すべてのデータをクエリする
従業員から*を選択します。
4. 定数、式、関数のクエリ
定数を選択;
100 * 98を選択します。
select version();
5. エイリアスから
-
方法1:キーワードとして使用
last_name as 姓、first_name as 名から従業員を選択します。
-
方法2:スペースを使用する
従業員からlast_name姓、first_name 名を選択します。
-
キーワードをエイリアスとして使用する場合は、一重引用符または二重引用符を追加します
従業員から給与を「アウトプット」として選択します。
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;