收藏!SQL查询语句大全来啰

发布于 2021-04-04 23:47

举例:给定一个叫’employee’的数据表,表中第一行为字段名,有员工编号(eno)、名字(ename)、职位(job)、领导编号(mgno)、雇佣日期(hiredate)、工资(sal)、资金(bonus)、部门编号(deptno)这几个字段;从第二行开始为一条条的记录。

(1)    select查询/检索数据

1、--查询表中所有信息:

SELECT * FROM employee;

2、--查询所有员工名字:

SELECT ename FROM employee;

3、--查询所有员工名字和编号:

SELECT ename, eno FROM employee;

(即多字段用逗号间隔,全部字段用* )

4、--查询前三位员工的信息:

SELECT * FROM employee LIMIT 3;

(仅显示三条记录了)

5、--查询表中的所有职位:

SELECT DISTINCT job FROM employee;

(因为有些记录的job字段是重复的,需要用DISTINT去重)

(2)限定条件(where语句)

1、--查询工资大于10000的员工信息:

SELECT *

FROM employee

WHERE sal>10000;

2、--查询工资大于10000并且有奖金的员工信息:

SELECT *

FROM employee

WHERE sal>10000 AND bonus>0;

3、--查询出表中员工姓名中含有“宁”字的员工姓名:

SELECT ename

FROM employee

WHERE ename like ‘%宁%’;

4、--查询出表中员工姓名中以“当”字结尾的员工姓名:

SELECT ename

FROM employee

WHERE ename like ‘%当’;

5--查询出表中员工姓名中以“刘”字开头的员工姓名:

SELECT ename

FROM employee

WHERE ename like ‘刘%’;

(%values% 包含;%values 以values结尾;values% 以values开头)

6、--中筛选出“部门编号为20或30”这两个部门,2013年1月1日至2015年12月31日期间入职,并且工资在5000及以上的员工信息:

SELECT *

FROM employee

WHERE deptno in (20,30)

AND hiredate between ‘2013-01-01’ and ‘2015-12-31’

AND sal>=5000;

(日期需要与数据表中存储的格式保持一致)

(3)创建计算字段

1、--求刘宁的工资和资金之和:

SELECT sal+bonus as ‘总工资’

FROM employee

WHERE ename=’刘宁’;

(as作为使用别名)

2、--在表中加入新字段,员工收入列income(income=sal+bonus):

SELECT *,sal+bonus as income

FROM employee;

3、--在表中加入新拼接字段,把员工编号eno和员工姓名ename拼接起来作为新拼接字段:

SELECT *,concat(eno,ename) as ‘编号加名字’

FROM employee;

或者

SELECT *,concat(eno,’+’,ename) as ‘编号加名字’

FROM employee;

下节介绍SQL中的函数运算,有问题留言哦。


本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材