SQL的一些基础查询语法
基础、限定、模糊查询
关键字都是大写。
使用 BETWEENN AND 的时候小的数字或者日期放到 AND(并且) 的面前,大的一个放到AND 后面。
示例如下:
查询工资大于1000小于5000的员工信息
SELECT *
FROM emp
WHERE sal>= 1000 AND sal<=5000;
FROM emp
WHERE sal>= 1000 AND sal<=5000;
数据操纵语言SQL分类(DML Data Manipulation Language):
SELECT(查询) 、INSERT(插入数据)、UPDATE(更新数据)、DELETE(删除数据)、DISTINCT(消除重复数据)
数据语言定义(DDL Data Control Language):
CREATE 、ALTER 、DROP、RENAME、TRUNCATE
控制行数 SET LINESIZE 300; 显示条数:SET PAGESIZE 30;
如图下:
数据控制语言(DCL Data Control Language):
GRANT (比如说授权远程连接、权限授权等等)
事物 Transaction:commit rollback
所谓的简单查询就是没有任何限定条件的查询, 但是在开发中一般不会使用简单语句查询。
通用查询基本语法:
SELECT *
FROM 数据来源..... 子句
WHERE 过滤条件,也可就是判断条件语句 子句
模糊查询:
基本语法:
SEECT *
FROM 数据来源
WHERE 模糊查询的字段 LIKE 模糊查询的关键字
1、‘ _ ’表示任意一位字符
示例如下:
查询第二个字母为“A”的员工姓名
SELECT *
FROM emp
WHERE ename LIKE '_A%';
2、‘%’ 表示任意位数的任意字符
示例如下:
查询所有以“S”为开头的同学
SELECT *
FROM emp
WHERE ename LIKE 'S%';
通过以上观察可以看出模糊查询要在WHERE子句后面使用,要实现模糊查询需要使用到关键字 “LIKE”
示例如下:
查询姓名里面包含ALL 的员工姓名
SELECT *
FROM emp
WHERE ename LIKE '%ALL%'
SELECT *
FROM emp
WHERE ename LIKE '%ALL%'
排序查询:
排序查询需要用到的关键字是 ORDER BY
基本语法:
SELECT *
FROM 数据来源
WHERE 过滤条件
ORDER BY 排序的字段 ASCL(升序)/DESC(降序)
示例如下:
查询所有员工的编号、姓名、部门编号、职位、薪水,按照薪水降序排序。
SELECT *
FROM emp
ORDER BY sal DESC;
常用查询函数:
1、COUNT(* /字段名):统计出查询到的数据量。
示例如下:
查询公司所有员工的个数。
SELECT COUNT(ename) 人数
FROM emp;
2、SUM(字段):计算出指定字段的数据之和(字段是数字才有意义)
示例如下:
查询所有员工的工资总和
SELECT SUM(sal) 工资总和
FROM emp;
FROM emp;
3、AVG(字段):计算出指定字段的平均值(字段是数字才有意义)
示例如下:
查询公司中各个部门的平均薪水
SELECT deptno, AVG(sal)
FROM emp
FROM emp
GROUP BY deptno;
4、MAX(字段):统计出指定的字段中最大值(字段是日期或者是数字才有意义)
示例如下:
查询公司中最高薪水是多少
SELECT MAX(sal)
FROM emp;
5、MIN(字段):统计出指定的字段中最小值(字段是日期或者是数字才有意义)
示例如下:
查询公司中最低薪水是多少
SELECT MIN(sal)
FROM emp;
6、SYSDATE: 取得当前日期
示例如下:
查询雇员表中,姓名为‘SMITH’的雇员,截止到今天工作了多少周
SELECT ROUND((SYSDATE-hiredate)/7) 周
FROM emp
WHERE ename = 'SMITH';