Mysql简单查询
重点:
SELECT查询语句的基本语法
难点:
SELECT查询语句中过滤条件中逻辑运算符的混合使用
SELECT查询语句中过滤条件中特殊比较运算符的使用
排序语法的应用
SQL语句的书写规则 不区分大小写,也就是说SELECT,select,Select,执行时效果是一样的。
算术运算符的使用
SELECT ename, sal, sal+300 FROM emp;
乘除优先于加减
相同优先权的表达式按照从左至右的顺序依次计算
括弧可以提高优先权,并使表达式的描述更为清晰
算术表达式中的空值NULL
任何包含空值的算术表达式运算后的结果都为空值NULL。
列别名 方式1:列名 列别名方式2:列名 AS 列别名
以下三种情况列别名两侧需要添加双引号
列别名中包含有空格
列别名中要求区分大小写(ORACLE中)
列别名中包含有特殊字符
消除重复行 在SELECT字句中使用关键字DISTINCT可消除重复行。
SELECT DISTINCT deptno FROM emp;
日期型数值作为被比较的值时,必须用单引号引起来。
SELECT ename, hiredate, deptno
FROM emp
WHERE hiredate > '1985-01-01';
模糊查询:like 使用LIKE运算符判断要比较的值是否满足部分匹配,也叫模糊查询。模糊查询中两个通配符:
% 代表零或任意更多的字符
_ 代表一个字符
IS NULL 运算符
使用 IS NULL 运算符来判断要比较的值是否为空值NULL
– 查询入职日期在81年,并且职位不是SALES开头的员工姓名、入职日期、职位。
SELECT ename ,hiredate ,job FROM emp WHERE hiredate LIKE '%81%' AND job NOT LIKE 'SALES%'
排序语句:ORDER BY 子句必须写在SELECT语句的最后(后面可以加 limit限制显示几个)
ORDER BY子句后列名可以用数字来代替,这个数字是SELECT语句后列的顺序号。 (例 按照deptno,sal排列) ASC(升序(默认))DESC(降序)
SELECT ename, deptno, sal
FROM emp
ORDER BY 2, 3 DESC LIMIT 3; -- 从大到小显示前三条数据
限制记录的行数
使用select语句时,经常要返回前几条或者中间某几行记录,可以使用关键字limit。语法格式如下:
SELECT 字段列表
FROM 数据源
LIMIT [start,]length;
说明:1.limit接受一个或两个整数参数。start表示从第几行记录开始输出,length表示输出的记录行数。 2.表中第一行记录的start值为0(不是 1)。
查询员工表的前5条记录
SELECT ename, deptno, sal
FROM emp
LIMIT 0,5;