SQL模糊查詢及手寫SQL需要注意的地方

2021-10-24 00:26:51 字數 1925 閱讀 3846

關於模糊查詢常用到的就是1、2、3,第4和第5還需要去驗證正確性。

1、日期時間格式2020-08-29 20:01:01和日期格式2020-08-29都可以使用(between…and…來查時間區間),也可以使用「>」、「

示例1:查詢在8月份』2020-08』建立的使用者:

select name from user where create_time between '2020-08-01' and '2020-08-31';
select name from user where create_time > '2020-08-01' and create_time < '2020-08-31';
2、凡是遇到「統計每個…」這種題目的時候,要使用sum函式和group by

統計:sum(ifnull(score,0))

select sum(ifnull(score,0)) as score from user;
每個:group by …

select score from user group by name;
排序:order by 字段 asc(desc)

模糊查詢語句

select 欄位名 from 表名 where 欄位名 like 條件;
1、業務中常用的輸入框模糊查詢(放在最前面)。

示例1:有乙個姓名輸入框,根據姓名模糊查詢出使用者。這裡用到了concat函式,主要用作拼接字串。

select name from user where name like concat('%',#,'%');
2、_:表示單個字元,可以匹配任意單個字元,常用來限制字串長度。

示例1:查出』張』字開頭且名字長度為兩個字元的使用者,查詢結果為:張三

select name from user where name like '張_';
示例2:查出所有名字為三個字的使用者,查詢結果為tom

select name from user where name like '___';		//此處是三個'_'
3、%:表示任意0個或多個字元,是用的最多的匹配方式。

示例1:查出姓名為』張』字開頭的使用者,查詢結果為:張三

select name from user where name like '張%';
示例2:查出名字中包含「老闆」兩個字的使用者,查詢結果為:馬老闆好

select name from user where name like '%老闆%';
4、[ ]:表示括號中所列字元的乙個,指定乙個範圍,要求所匹配的物件是它們中的乙個。

示例1:查出姓名為』張

三、李三』的使用者

select name from user where name like '[張李]三';
5、[^ ]:表示不是括號中所列字元的乙個,指定乙個範圍,要求所匹配的物件不是它們中的乙個。

示例1:查出姓名不是』張

三、李三』的使用者

select name from user where name like '[^張李]三';

sql 模糊查詢

一般模糊語句如下 select 字段 from 表 where 某欄位 like 條件 其中關於條件,sql提供了四種匹配模式 1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select from user where u name lik...

SQL模糊查詢

sql提供了四種匹配模式 1.表示任意 0個或多個字元。如下語句 select from user where name like 三 將會把 name為 張三 三腳貓 唐三藏 等等有 三 的全找出來 2.表示任意單個字元。語句 select from user where name like 三 ...

SQL模糊查詢

sql提供了四種模糊匹配方式 1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請運用兩個百分號 表示。比如 select from user where u name like 三 將會把u name為 張三 張貓三 三腳貓 唐三藏 等等有 三 的記錄全找出來。另外,如果...