SQL必知必会(一)检索、过滤和计算字段

【检索】

SELECT      #a,b,c为列名,tableA为表名

检索不同

SELECT DISTINCT a, b, c 

FROM tableA;


#符号*代表全部,井号为整行注释

SELECT * FROM tableA;


检索限制

SELECT Top 5 a FROM tableA;


SELECT a FROM tableA

LIMIT 5 OFFSET 6;   --从第7行开始输出5行(7-11行)--为行内注释

/*框定范围注释*/


排序检索

#按照表名排序,ODDER BY语句一定是SELECT语句的最后一个子句

SELECT a,b,c 

FROM tableA

ORDER BY b,c;


#按照表在select语句中相对位置排序

SELECT a,b,c

FROM tableA

ORDER BY 2,3;


#排序方向选定,默认升序,降序为DESCENDING

SELECT a,b,c 

FROM tableA

ORDER BY 2 DESC,3;    --先降序2,然后默认升序3


【过滤】

WHERE子句指定搜索条件

范围、多条件过滤

SELECT a,b,c

FROM tableA

WHERE a=‘DLL01’ AND b<>5  --多条件同时满足

ORDER BY 2 DESC,3;     --ORDER BY在WHERE后


SELECT a,b,c

FROM tableA

WHERE a=‘DLL01’ or b BETWEEN 2 AND 4;   --满足一个条件即可


#SQL优先处理AND语句,因此有OR语句在先时需要括号

SELECT a,b,c

FROM tableA

WHERE (a='DLL01' OR a='BLL02' ) AND b>=4;


#IN语句等于OR语句的用法,不过更快速且动态

SELECT a,b,c

FROM tableA

WHERE a IN ('DLL01','BLL02','CLL03')

ORDER BY a;


#否定语句NOT

SELECT a,b,c

FROM tableA

WHERE NOT a='DLL01'

ORDER BY 2,3;


空值检查

#空值不是0

SELECT a

FROM tableA

WHERE a IS NULL;


通配符过滤(只能用于文本字段)

LIKE语句


#百分号%通配符:表示任意字符出现任意次数,区分大小写,不匹配NULL,注意空格与否

SELECT a

FROM tableA

WHERE a LIKE '%LL%' OR '%01' OR ‘% bean bear’;   --LL在中间或者01结尾


#下划线_通配符:注意空格与否,只匹配单个字符

SELECT a

FROM tableA

WHERE a LIKE '__ inch teddy bear';   --两个下划线,只能输出两位数的,字符数和下划线数严格对应,不能多也不能少


#方括号[]通配符:匹配方括号内任意一个字符

SELECT a

FROM tableA

WHERE a LIKE '[JM]%'    --J或者M开头的任意行

ORDER BY a;


【计算字段】

创建计算字段

#拼接字段:将一个值附加到另一个值,联结在一起构成单个值,操作符为+或者||

SELECT a + '(' + b + ')'   --a&(&b&) 拼起来

FROM tableA

ORDER BY a;

SELECT a || '(' || b || ')'

FROM tableA

ORDER BY a;

#在MySQL和MariaDB中用Concat

SELECT Concat (a,'(',b,')')      --Concat(列,括号,列,括号)

FROM tableA

ORDER BY a;


#去掉空格拼接:RTRIM去掉右边空格,LTRIM去掉左边空格。TRIM去掉所有空格

SELECT RTRIM(a) + '(' + LTRIM(b) + ')' AS ab_title   --去空格拼接的字段重命名为ab_title

FROM tableA

ORDER BY a;


#执行算术计算,

SELECT id, 

               quantity, 

               price,

               quantity*price AS total_price

FROM ordertable

WHERE order_code=20008;

你可能感兴趣的:(SQL必知必会(一)检索、过滤和计算字段)