2日目...../

SQL文の記述順序

列の選択、*、集計関数

から

どこ

グループ化

までに注文する

実行順序 from>where>select>group by>having>order by>limit

#基本的なクエリ SELECT 列名, 列名... FROM テーブル名
SELECT s_name, s_phone FROM zy_student;
#すべてのクエリ select * from テーブル名
SELECT * FROM zy_student; #
クエリ後の結果の名前を変更 SELECT 列名を新しい名前 , 列名... FROM テーブル名
# 省略可能
SELECT s_name AS username, s_phone AS tel FROM zy_student;
# 取得したデータを再計算
SELECT s_name,s_age+10 AS age FROM zy_student;
# クエリ後の重複排除 if 複数のカラムがある場合、各列の番号は同じである必要があります
SELECT DISTINCT s_name, s_age FROM zy_student;
#クエリ制限開始位置以降に指定された項目数を返します、項目数は 0 から始まります
#1 ページあたりの項目数 5 count 現在のページ番号 page
/*
  0,5
  5,5
  10,5
  (ページ-1)*count,count
*/
SELECT * FROM zy_student LIMIT 3,2;

#範囲クエリ> < >= <= !=
#間隔範囲 and と  
#境界値を含む と の間の間隔範囲
SELECT * FROM zy_student WHERE s_age!=12;
SELECT * FROM zy_student WHERE s_age>18 AND s_age<25;
SELECT * FROM zy_student WHERE s_age BETWEEN 21 AND 25;
# 固定値または SELECT で選択
* FROM zy_student WHERE s_age=12 OR s_age=25
SELECT * FROM zy_student WHERE s_age IN(12,25)
# 固定値に属さない not in
SELECT * FROM zy_student WHERE s_age!=12 AND s_age!=25;
SELECT * FROM zy_student WHERE s_age NOT IN(12,25) #
ファジークエリのような #  
% 任意の長さの文字列
# _単一長の文字列
# % が含まれている限りキーワードの%
SELECT * FROM zy_student WHERE s_name LIKE 'A%'
SELECT * FROM zy_student WHERE s_phone LIKE '%311%'
#非空查询
# where a_name=null这样不行が null は null ではありません
SELECT * FROM zy_student WHERE s_phone IS NULL
SELECT * FROM zy_student WHERE s_phone IS NOT NULL

#デフォルトではクエリ順に並べ替えます ascending asc降順 desc
#複数の条件で並べ替える必要がある場合は、その条件に基づいて最初に配置します
SELECT * FROM zy_student ORDER BY s_age,s_birthday DESC

集計関数 

#集計関数 select 集計関数
/*
合計 count()
平均 avg()
最大値 max(
) 最小値 min()
sum sum()
*/
SELECT COUNT(s_id) AS total FROM zy_student
SELECT AVG(IFNULL(s_age , 0)) FROM zy_student
SELECT MAX(s_age) FROM zy_student
SELECT MIN(s_birthday) FROM zy_student
SELECT SUM(s_age) FROM zy_student
SELECT MAX(s_age),MIN(s_age) FROM zy_student
/*
1. 集計関数は単一行を取得し、 2. 集計関数
は単一行、単一列を検出するため、通常の列とはまとめないでください
3. 各集計関数は単一行、単一列を検出するため、集計関数と集計関数を組み合わせることができます4.集計
を使用する 関数がデータをカウントする際、データにnullが含まれている場合はカウントされません、
   カウントしたい場合はnullを別の値に変更する必要があります ifnull(列、変更する値)

SELECT AVG(IFNULL(s_age,0)) FROM zy_student
5. カウントするときはデータ型に注意する
*/
# 重複排除後にカウントする
SELECT COUNT(DISTINCT s_sex) FROM zy_student
# 統計をグループ化する グループ化と統計が一緒の場合
SELECTをステートするS_SEX、Count (S_SEX) from Zy_Student Group by S_SEX
#、画面スクリーニング条件の結果の結果
S_Edu、Count (s_EDU) from Zy_Student By S_EDU H を選択します。 Aving count (s_edu)> 0;
select s_edu, count (s_edu) FROM zy_student GROUP BY s_edu HAVING s_edu IS NOT NULL;

#テーブル接続結合 #
名前と対応するクラス名を確認
SELECT u_name,c_name FROM t_user JOIN class WHERE t_user.u_c_id=class.c_id
SELECT u_name,c_name FROM t_user JOIN class ON t_user.u_c_id=class.c_id
#上記のテーブル接続 左結合、右結合に加えて、内部結合と呼ばれます。
# 上記のリンクは交差を求めることに相当し、左右の接続は
SELECT u_name,c_name FROM t_user RIGHT JOIN class ON t_user.u_c_id=class.c_id
SELECT u_name,c_name FROM t_user LEFT JOIN class ON t_user.u_c_id に相当します。 =class.c_id
#セルフリンク、
自分でリンク
select * from t_user join t_user 

おすすめ

転載: blog.csdn.net/m0_62843289/article/details/130827726