一、简单的查询语句(DQL)
语法结构:
select 字段名1,字段名2,字段名3,...... from 表名;(查询多个字段)
select * from 表名; (查询全部字段)
提示:1、任何一条sql语句必须以 “;” 结尾。
2、sql 语句不区分大小写
举例一:
mysql> select EMPNO,ENAME from emp;
mysql> SELECT EMPNO,ENAME FROM EMP;
mysql> SELECT
-> EMPNO,
-> ENAME
-> FROM
-> EMP;
举例二:(字段可以参与数学运算,可以给查询结果的列重命名)
注意:标准sql语句中要求字符串使用单引号括起来,虽然mysql支持双引号,但不通用。
as 关键字可以省略
二、条件查询
语法结构:
select
字段名1,字段名2,字段名3,......
from
表名
where
条件;
执行顺序:先from, 然后 where, 最后 select
注意:between and 在使用的时候必须左小右大;除了可以使用在数字方面之外还有可以使用在字符串方面;且between and 用在数字方面表示的是闭区间,但用在字符方面是左闭右开。
在数据库中,NULL不是一个值,代表什么也没有,为空。空不是一个值,不能用等号衡量,必须用 is null 或者 is not null。
当and 和 or 联合使用时,优先级更高的是and 。当运算符的优先级不确定的时候加小括号。
in 等同于 or
模糊查询(like)
注意:在模糊查询中,必须掌握两个特殊符号,一个是 % ,一个是 _
% 代表任意多个字符,_代表任意一个字符
\_ 表示普通的下划线
三、排序(升序、降序)
语法结构:
select
字段名1,字段名2,字段名3,......
from
表名
order by
字段名;
注意:默认是升序,怎么指定升序或者降序呢?asc表示升序,desc表示降序
mysql> select ename,sal from emp order by sal; //升序
mysql> select ename,sal from emp order by sal asc; //升序
mysql> select ename,sal from emp order by sal desc; //降序
举例一
按照工资的降序排列,当工资相同的时候再按照名字的升序排列。
(当前面字段相等时,后面字段才能起作用)
举例二
找出工作岗位是salesman的员工,并且要求按照薪资的降序排列
select ename,job,sal from emp where job = 'salesman' order by sal desc;
执行顺序:from--->where--->select--->order by