基础课-数据库3

6.查询数据语句

公式:SELECT 列名

 FROM    表名

一、SELECT 列名(多列的话用逗号分隔),*代表查询所有列

 1)查询单列数据时使用distinct关键字可以去掉重复数据,加到列名前
例如:SELECT DISTINCT job
FROM emp;
2)查询数字型列时,可以根据查询需要对数据进行四则运算(加减乘除)
例如:SELECT ename,sal,sal+500
FROM emp;
3)可以使用as关键字给查询的列起别名
例如:SELECT ename,hiredate,12*sal+5000 AS 年薪
FROM emp;
4)可以使用sql中的聚合分组函数,对某些列数据数据实行统计查询,函数后面要加()
max()统计最大值         min()统计最小值 
例如:SELECT max(hiredate),min(hiredate)
FROM emp;
sum() 求和                   avg()求平均值
例如:SELECT sum(sal),avg(sal)
FROM emp;
日期型数据统计时越晚的日期数值越大,越早的日期数值越小,不要与年龄混为一谈

二、FROM 表名

where 条件

1.简单条件 列名+比较符号+数据

2.特殊条件 

a. between and (两者之间,区间内) between后面是小数据,and后面是大数据
      betwe and 常用于比较数字范围及日期范围
例如:入职时间介于2020-1-1和2020-12-31之间
           SELECT ename,hiredate
           FROM emp
           WHERE hiredate BETWEEN '2020-1-1' AND '2020-12-31';
 
b. in 在多个数据之中查找几个  in(数据,数据...)
例如:职位是销售和职员
           SELECT ename,job,sal
           FROM emp
           WHERE job IN ('销售','职员')
c. like 模糊查询 部分匹配 比较的数据中必须使用%

      通配符%(代表任意长度的任意内容)

%通配符三种用法:

‘数据%’ 以此数据开头;‘%数据’ 以此数据结尾;‘%数据%’ 有此数据即可

例如:“查找姓王的人”

           SELECT ename

           FROM emp

           WHERE ename LIKE '王%';

           “名字当中有福就行”

           SELECT ename
           FROM emp
           WHERE ename LIKE '%福%';

d. is NULL 用于判断某列数据是空值

例如: SELECT *

            FROM emp

            WHERE deptno IS NULL;

e. not 它不能单独使用 需要和前四个配合使用

not between and

not in

not like

is not null

例如:

SELECT *
FROM emp
WHERE sal NOT BETWEEN 2000 AND 3000;

SELECT *
FROM emp
WHERE job NOT in ('经理','销售','职员');

SELECT *
FROM emp
WHERE ename NOT LIKE '%旭%';

SELECT *
FROM emp
WHERE deptno IS NOT NULL;

3.多条件的组合

a. and 并且语义 筛选的数据满足and组合中的所有条件

b.  or   或者语义 筛选的数据满足or组合中的任意一个条件

例如:

查询工资大于2500并且职位是职员的员工信息
SELECT*
FROM emp
WHERE sal>2500 AND job='职员';

查询工资大于2500或者职位是职员的员工信息

SELECT*
FROM emp
WHERE sal>2500 OR job='职员';

 
 
 
 
 
 
 
 
 
 
 
 
 
posted @   HeFury  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示