資料庫SQL查詢語法 – 判斷條件

2016-02-06

在資料庫使用select語法查詢資料出來時,有許多的條件可以設定。例如:欄位名='值'、欄位名 like '值或萬用字元'、欄位名 in ('值1','值2','值3','值n'...)  .... 到查詢出來的資料的order、group、排序等,下面皆逐一介紹。

 

 

當欄位名的值完全等於值時取出資料 - [ = ]
select col_name from db_name where col_name='值'
例:select id,name from user_list where id='10';

就是從資料表user_list中取出欄位名id等於10的資料,然後取出的資料為id、name

 

當欄位名的值相似於值時取出資料 - [ like ]
select col_name from db_name where col_name like '值'
例:select id,name from user_list where id like '%10%';

就是從資料表user_list中取出欄位名id包含10的資料,然後取出的資料為id、name
包含10的資料例如:10、100、110、1000...
萬用字元為 : _(底線) -> 單一字元 、%(百分比) -> 任意數個字元。

 

當欄位名的值在數列當中時取出資料 - [ in ]
select col_name from db_name where col_name in (值)
例:select id,name from user_list where id in (1,5,9);

就是從資料表user_list中取出欄位名id在數列[1,5,9]的資料,然後取出的資料為id、name
這邊數列的格式為: 1,2,3,4,... 需使用逗號隔開,值可隨意替代。
執行此語法時須注意數列不可為空,不然會發生SQL語法錯誤。

 

資料排序 - [ order]
select col_name from db_name where col_name order by col_name (asc or desc)
例:select id,name from user_list where id ='10' order by name desc;

就是從資料表user_list中取出欄位名id的值為10的資料,照name欄位下去排序(降序,大到小)。
order by col_name asc,升序(小到大,預設排序)
order by col_name desc,降序(大到小,預設排序)
col_name只能設定一個下去排序,當然當col_name的值一致時可以設定第二順位的排序(使用逗號隔開"第一順位,第二順位,第三順位")

 

資料合併 - [ group ]
select col_name from db_name where col_name group by col_name
例:select id,name from user_list where id ='10' group by id;

就是從資料表user_list中取出欄位名id的值為10的資料,照id欄位下去合併(如果資料一樣時)。

分類
標籤