专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 SQL查询语句大全

SQL查询语句大全

更新时间:2022-10-17 10:44:32 来源:赢咖4 浏览455次

举例:给定一个叫’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;

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>