一、简单查询
1.数据查询
SELECT colName1,colName2,colName3,.. FROM tName [约束]
SELECT 选择查询列表 FROM 提供数据源(表、视图或者其他数据源)
//查询所有的列,显示顺序和创建表中的顺序一致
SELECT * FROM tName
=======================================
全列/投影查询
=======================================
练习
1,查询所有员工信息
select * from emp;
2,查询每个员工的编号、姓名、职位
select empno,ename,job form emp;
3,查询所有部门信息
select * from dept;
2.避免重读(去重)-DISTINCT
SELECT DISTINCT colName FROM tName
=======================================
消除重复
=======================================
distinct关键字可以用于一列,也可以用于多列
练习
1,查询所有有员工的部门编号
select distinct deptno from emp;
2,查询哪些部门和职位有员工
select distinct job,deptno from emp;
只有当job和deptno相同,才认为是重复的数据。
3.数据运算查询
对NUMBER类型,可以使用算术操作符创建表达式 (+ - * /)对DATE类型,可以使用部分算术运算符创建表达式(+ -)
运算符优先级
1.先乘除后加减
2.同级运算符,从左到右
3.表达式中使用“括号”,可强行改变运算顺序
=======================================
算术操作符
=======================================
练习
1,查询所有员工的年薪
select ename,sal * 12 '年薪' from emp;
2,查询所有员工的年薪(使用别名)
3,查询每月都有500元的餐补和200元交通补助并且年底多发一个月工资的年薪
select ename,(sal + 500 + 200)*12+sal '年薪'from emp;
4,演示date类型数据的运算:查询员工的雇佣日期加上10
select DATE_ADD(hiredate,INTERVAL 10 DAY) from emp;
4.空值查询-IS NULL
WHERE colName IS NULL
=======================================
空值判断
=======================================
空值:
1、空值是指不可用、未分配的值,也就是没有值。
2、空值不等于零或空格
3、任意类型都可以支持空值,也就是说任何类型的字段都可以允许空值作为值的存在
*注意:包括空值的任何算术表达式都等于空
练习:
查询所有员工的年终奖((月薪+奖金)*12)
select ename,(IFNULL(comm,0)+sal)*12 '年薪' from emp ;
函数:IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2
使用IS NULL(IS NOT NUll)运算符
1,查询有奖金的员工信息
SELECT * from emp where comm is not NULL;
2,查询公司的老板
select * from emp where mgr is null;
5.where子句
使用WHERE子句限定返回的记录
SELECT colName1,colName2 FROM tName [WHERE 限制条件 AND/OR 限制条件2]
=======================================
限定查询
=======================================
注意:
1、字符串和日期要