mysql基础查询
select
要查询的字段|表达式|常量值|函数
from 表
1.查询的类别
#1.查询常量值: SELECT * FROM employees; #2.查询常量值 SELECT 100; SELECT 'john'; #3.查询表达式 SELECT 100%98; #4.查询函数
select 函数名(实参列表); SELECT VERSION();
注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要
2.别名
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来
#方式一:使用as SELECT 100%98 AS 结果; SELECT last_name AS 姓,first_name AS 名 FROM employees; #方式二:使用空格 SELECT last_name 姓,first_name 名 FROM employees;
3.distinct去重
- MySQL里的distinct有一个语法特点:只能放在所有字段之前,不能放在中间。
- 要求列的属性同时相等时才去重才行,也就是distinct的作用域是select里的所有列,都相同才去重。
查询部门是80的Daavid的信息。
1.不用DISTINCT进行查询一共2条记录。
2.用DISTINCT进行查询,只对department_id,first_name进行去重。(返回结果department_id,first_name这两列都相同所以返回一条数据)
3.用DISTINCT进行查询,只对employee_id,department_id,first_name进行去重。(返回结果department_id,first_name这两都相同但是employee_id不同所以返回两条数据)
4.+号的使用
mysql中的+号的功能:运算符 select 100+90; 两个操作数都为数值型,则做加法运算 select '123'+90;只要其中一方为字符型,试图将字符型数值转换成数值型 如果转换成功,则继续做加法运算,即(123+90) select 'john'+90;如果转换失败,则将字符型数值转换成0,即(0+90) select null+10; 只要其中一方为null,则结果肯定为null
5.CONCAT的使用
1、功能:将多个字符串连接成一个字符串。
2、语法:concat(str1, str2,...)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。
如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
SELECT CONCAT('A', 'B', 'C');//ABC SELECT CONCAT('A', 1, 'C');//A1C SELECT CONCAT('A', NULL, 'C');//NULL
6.isnull和nullif函数
- isnull(exper) 判断exper是否为空,是则返回1,否则返回0
- ifnull(exper1,exper2)判断exper1是否为空,是则用exper2代替
- nullif(exper1,exper2)如果expr1= expr2 成立,那么返回值为NULL,否则返回值为 expr1。
7.操作符
操作符 含义 = 等于 > 大于 >= 大于、等于 < 小于 <= 小于、等于 <> 不等于 ( 也可以是 !=) BETWEEN AND 在两个值之间 ( 包含边界) (NOT)IN 等于值列表中的一个 LIKE 模糊查询 IS (NOT) NULL 空值 AND 逻辑并 OR 逻辑或 NOT 逻辑否
- like:一般搭配通配符使用,可以判断字符型或数值型
- 通配符:%任意多个字符,_任意单个字符`