【MySQL】基本查询

查询字段

Mysql不区分大小写

select * from emp;//*是通配符  代表任意字段,全部字段
select empno, ename from emp;//指定字段



这俩哪个更好?分场景: 

1.直接在命令行里写的sql语句 和 数据量很小的时候:  * 比单写字段好

2.代码中写sql语句,传给服务器:单写字段比*好,就算全部字段都要列出来,也是一个一个写出来好

(因为写完语句时,有返回值,返回数据与字段名一一对应,所以字段必须要有)

条件查询

select * from emp where empno > 7800;
select * from emp where empno = 7900;


运算符

select * from emp where empno <> 7900;
select * from emp where empno != 7900;
select * from emp where comm is NULL;
select * from emp where comm is not NULL;
select * from emp where empno between 7800 and 7900;
select * from emp where empno >= 7800 <=7900;
select * from emp where deptno in (10, 30);
select * from emp where deptno not in (10, 30);

like:模糊查询    %通配符       _占位符

select * from emp where ename like "%m%";//名字里带m的
select * from emp where ename like "%n";//最后一个字符是n
select * from emp where ename like "_n%";//第二个字符是n

练习题

练习1:


emp表:
 

1.查询薪水 sal为5000的员工

2.查询员工编号empno大于7800的员工

3.查询sal为1600到3000的员工编号、姓名、薪水

4.查询工作job不等于manager的员工姓名、工作、部门编号

单引号双引号都行

5.查询出job 为manager或者job 为salesman的员工

6.查询入职日期hiredate再1982年1月1日之后的员工

7.查询没有佣金comm的员工编号、领导编号、薪水、佣金

8.查询姓名ename中包含s 的所有员工

9.查询工作job 以MAN结尾的员工

10.查询ename 中第二个字符为a的所有员工

练习2:


emp表:


1.查询工作job为manager的员工

2.查询薪水sal不等于5000的员工


3.查询sal大于1800,并且部门代码deptno为20或30的员工

4.查询佣金comm不为空的所有员工


5.查询姓名ename 中包含a和b的员工

6.查询出sal为1600或者sal为3000的员工

7.查询出sal不是1600和sal不是3000的员工


8.查询入职日期hiredate在1981-01-01'和'1981-12-01'之间的员工姓名ename

9.查询姓名ename 以s开头所有的员工


10.查询姓名中倒数第二个字符为n的所有员工

练习3:


dept表:


1.查询部门编号deptno为10的部门名称dname

2.查询部门名称dname 中以R开头的部门的名称

3.查询位置loc在NEW YOURK的部门


4.查询部门编号deptno大于等于20的部门名称dname

5.查询不包含字母E的部门名称dname

salgrade表:
6.查询薪资等级grade为1或者3的记录


7.查询薪资等级grade为2的最低薪资losal和最高薪资hisal


8.查询薪资等级中最低 losal或最高薪资hisal大于等于3000的薪资等级grade

第二行和第四行结果相同,因为要验证的是3000和最低工资,最高工资的大小关系,3000比最高工资都低,那么一定比最低工资低。

9.查询薪资等级grade为2或3或5的薪资等级信息


10.查询最高薪资hisal不在2000到4000之间的薪资等级信息

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值