1. 程式人生 > >基本查詢、條件查詢

基本查詢、條件查詢

基本查詢

       -- 查詢所有欄位

       -- select * from 表名;

       select * from students;

       select * from classes;

       select id, name from classes;

 

       -- 查詢指定欄位

       -- select 列1,列2,... from 表名;

       select name, age from students;

      

       -- 使用 as 給欄位起別名

       -- select 欄位 as 名字.... from 表名;

       select name as 姓名, age as 年齡 from students;

 

       -- select 表名.欄位 .... from 表名;

       select students.name, students.age from students;

 

      

       -- 可以通過 as 給表起別名

       -- select 表名.欄位 .... from 表名 as 別名;

       select students.name, students.age from students;

       select s.name, s.age from students as s;

       -- 失敗的select students.name, students.age from students as s;

 

 

       -- 消除重複行

       -- distinct 欄位

       select distinct gender from students;

 

 

條件查詢

比較運算子

              -- select .... from 表名 where .....

              -- >

              -- 查詢大於18歲的資訊

              select * from students where age>18;

              select id,name,gender from students where age>18;

 

              -- 查詢小於18歲的資訊

              select * from students where age<18;

 

              -- 查詢年齡為18歲的所有學生的名字

              select * from students where age=18;

 

 

邏輯運算子

              -- and

              -- 18到28之間的所以學生資訊

              select * from students where age>18 and age<28;

              -- 失敗select * from students where age>18 and <28;

 

 

              -- 18歲以上的女性

              select * from students where age>18 and gender="女";

              select * from students where age>18 and gender=2;

 

              -- or

              -- 18以上或者身高查過180(包含)以上

              select * from students where age>18 or height>=180;

 

 

              -- not

              -- 不在 18歲以上的女性 這個範圍內的資訊

              -- select * from students where not age>18 and gender=2;

              select * from students where not (age>18 and gender=2);

 

              -- 年齡不是小於或者等於18 並且是女性

              select * from students where (not age<=18) and gender=2;

 

 

模糊查詢

              -- like

              -- % 替換1個或者多個

              -- _ 替換1個

              -- 查詢姓名中 以 "小" 開始的名字

              select name from students where name="小";

              select name from students where name like "小%";

 

              -- 查詢姓名中 有 "小" 所有的名字

              select name from students where name like "%小%";

 

              -- 查詢有2個字的名字

              select name from students where name like "__";

 

              -- 查詢有3個字的名字

              select name from students where name like "__";

 

              -- 查詢至少有2個字的名字

              select name from students where name like "__%";

 

 

              -- rlike 正則

              -- 查詢以 周開始的姓名

              select name from students where name rlike "^周.*";

 

              -- 查詢以 周開始、倫結尾的姓名

              select name from students where name rlike "^周.*倫$";

 

 

範圍查詢

              -- in (1, 3, 8)表示在一個非連續的範圍內

              -- 查詢 年齡為18、34的姓名

              select name,age from students where age=18 or age=34;

              select name,age from students where age=18 or age=34 or age=12;

              select name,age from students where age in (12, 18, 34);

 

 

             

              -- not in 不非連續的範圍之內

              -- 年齡不是 18、34歲之間的資訊

              select name,age from students where age not in (12, 18, 34);

 

 

              -- between ... and ...表示在一個連續的範圍內

              -- 查詢 年齡在18到34之間的的資訊

              select name, age from students where age between 18 and 34;

 

             

              -- not between ... and ...表示不在一個連續的範圍內

              -- 查詢 年齡不在在18到34之間的的資訊

              select * from students where age not between 18 and 34;

              select * from students where not age between 18 and 34;

              -- 失敗的select * from students where age not (between 18 and 34);

 

 

空判斷

              -- 判空is null

              -- 查詢身高為空的資訊

              select * from students where height is null;

              select * from students where height is NULL;

              select * from students where height is Null;

 

              -- 判非空is not null

              select * from students where height is not null;