MySQL 起别名、去重、+的作用、转义字符

目录直通车

      • 一、起别名
        • 1、方式一:SELECT ... AS ..
        • 2、方式二:使用空格
      • 二、字段去重
        • 1、DISTINCT
        • 2、GROUPY BY
        • 3、GROUP BY ... HAVING ... / WHERE ... GROUP BY ...
      • 三、“+”的作用
        • 1、数字加数字 正常运算
        • 2、字符加数字 类型转换
        • 3、NULL加数字 直接为NULL
      • 四、转义字符
        • 1、 "\" 作转义字符
        • 2、“escape ” 指定转义字符

一、起别名

1、方式一:SELECT … AS …

SELECT name AS 'staffName'

2、方式二:使用空格

可以这样: SELECT name 'staffName' 
还可以这样: SELECT name 员工姓名

二、字段去重

1、DISTINCT

SELECT DISTINCT 需要去重的字段 FROM table;

2、GROUPY BY

​ GROUPY BY 将表中数据分成若干组,可以按多个字段进行分组。分组GROUP BY需要搭配聚合函数使用。

SELECT MAX(id) FROM t GROUP BY 需要去重的字段;

3、GROUP BY … HAVING … / WHERE … GROUP BY …

GROUP BY … HAVING … 搭配having进行分组后的筛选;

WHERE … GROUP BY … 搭配WHERE进行分组前,原始表含该字段,优先使用分组前的筛选性能高。

三、“+”的作用

1、数字加数字 正常运算

SELECT 10+20;

2、字符加数字 类型转换

​ 其中一方为字符型,试图将字符型数值转换成数值型,如果转换成功,则继续做加法运算。

SELECT "10"+20;  # 30

​ 如果转换失败,则将字符型数值转换成0。

SELECT "MrDJun"+ 10; # 10

3、NULL加数字 直接为NULL

​ 只要其中一方为null,结果一定为null

SELECT NULL+10; # NULL

四、转义字符

1、 “” 作转义字符

转义前:select * from user where username like '_mrdjun' ,这条SQL的意思查询以第一个为任意字符直到mrdjun结尾为关键字的数据
转义后:select * from user where username like '\_mrdjun' ,以"_mrdjun"为关键字,查询数据

2、“escape ” 指定转义字符

查询用户名的第二个字符为"_"的用户
SELECT username FROM ums_user WHERE username LIKE '_$_%' ESCAPE '$';
这条SQL相当于 ... WHERE username LIKE '_\_%'; 意思就是说指定 $ 作为转义字符

你可能感兴趣的:(MYSQL,mysql)