MySQL基本操作之关系约束查询

#1.DISTINCT 去除重复的内容

SELECT loc FROM dept;

SELECT DISTINCT loc FROM dept;

#2.WHERE使用

SELECT * FROM emp WHERE 1=1;-- 结果是true ,类似于没有条件

SELECT * FROM emp WHERE 1=0;-- 结果是false ,类似于条件不成立

-- 查询职位是员工,薪资是3000的员工信息

SELECT * FROM emp WHERE job='员工' AND sal=3000;

-- 查询职位是员工 或者 薪资是3000的员工信息

SELECT * FROM emp WHERE job='员工' OR sal=3000;

-- 查询职位薪资大于等于3500的员工信息

SELECT * FROM emp WHERE sal>=3500;

-- 查询emp表中薪资在3500到10000之间的员工信息

SELECT * FROM emp WHERE sal>=3500 AND sal<=10000;

SELECT * FROM emp WHERE sal BETWEEN 3500 AND 10000;-- 注意这个between包含了边界值

#4.查询薪资是10000,8000,3000的员工信息

SELECT * FROM emp WHERE sal=10000 OR sal=8000 OR sal=3000;

-- 也可以用in 表示在这里

SELECT * FROM emp WHERE sal IN(10000,8000,3000);

-- not in 表示不在这里

SELECT * FROM emp WHERE sal NOT IN(10000,8000,3000);

#5.求出每个员工的总薪资

SELECT ename,sal+IFNULL(comm,0) FROM emp;

-- 这样写阅读体验极差,可以起个别名

SELECT ename,sal+IFNULL(comm,0) AS 总薪资 FROM emp;

#AS也可以省略

SELECT ename,sal+IFNULL(comm,0) AS 总薪资 FROM emp;

#6.like像...,进行模糊查询

#like经常和通配符有关联,%代表0-n个任意字符 _代表一个任意字符 a% a_

#查询emp中姓名以1开头的员工信息

SELECT * FROM emp WHERE ename LIKE'l%';

#查询emp中姓名包含a的员工信息

SELECT * FROM emp WHERE ename LIKE'%a%';

#查询emp表中名字是三个字符,并且以l开头的员工信息

SELECT * FROM emp WHERE ename LIKE'l__';

#7.NULL 关键字

#查询奖金是NULL的员工信息

SELECT * FROM emp WHERE comm IS NULL;

SELECT * FROM emp WHERE comm IS NOT NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值