[mysql]基本的SELECT语句练习

我们来看看基本的SELECT查询语句的练习难度

题目如下

# 1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY

# 2.查询employees表中去除重复的job_id以后的数据

# 3.查询工资大于12000的员工姓名和工资

# 4.查询员工号为176的员工的姓名和部门号

# 5.显示表 departments 的结构,并查询其中的全部数据

第一题,1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY

这个还是比较有难度的,工资总和怎么理解呢,

理解1:基本工资12个月就是基本工资*12,,我们先运行一下这里我们立马就报错了,为什么呢,因为中间多了个空格,那么我们就要给它加一个双引号,记得我们时间和字符串用的是单引号,字段名用双引号.

理解2:包含奖金的工资.这里有的同学就会说了,工资是包含奖金的,那么我们就要这么写

  USE atguigudb;
  SELECT employee_id,salary(1+commission_pct])*12 "annual salary"
  FROM employees;

这里我们一执行就会发现,很多年工资都变成空了,为什么呢,是因为我们人commission_pct中的空值加入运算了,那么就会导致,出现很多年工资是空值,我们就要使用ifnull函数

 SELECT employee_id,salary*(1 + commission_pct)*12 "annual salary"
 FROM employees;

两个都对,就看你怎么理解了

2.查询employees表中去除重复的job_id以后的数据

我们先正常查询 SELECT JOB_id FROM employees;

我们发现一个有107条记录DISTINCT就是去重我们再试一试

SELECT DISTINCT job_id FROM employees;

这次只剩下19条,说明有19个工种,下一个.

# 3.查询工资大于12000的员工姓名和工资

其实这一块来讲,属于我们下一章的运算符的内容,但是不是特别困难我们就加入了where的联系中

SELECT last_name,salary

FROM employees

WHERE salary>12000;

这些员工的工资就如下.

# 4.查询员工号为176的员工的姓名和部门号

SELECT last_name,department_id
FROM employees
where employee_id = 176;

sql语言一看就是外国人发明的.如果我们中国人查肯定是在哪个表里查什么.sql的语言模式是我要查什么,在哪里.我们习惯是

# 5.显示表 departments 的结构,并查询其中的全部数据

DESC departments;
SELECT * FROM departments;

大家也熟悉熟悉我们的表内容,之后还会用到,部门表里有个位置id,要去location表里查看

我们会发现表和表之间有点关系,我们到时候要进行多表查询,到时候的查询语句就会复杂一点.

我们最简单的查询语句就出来了

SELECT * FROM 表 WHERE 条件;

我们一般都会用到where,因为你们想,我们一个表里有几万条,上万条数据,如果你不加where,那么我们要呈现给用户那是非常恐怖的事情,我们一般都会加一点过滤条件,我们已经用上了大于,小于等于,这些运算符.除了这些运算符还有哪些更丰富的运算符呢,接下来我的文章就说一下算数运算符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晴天qt01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值