> 文章列表 > 【手把手教你玩MySQL】基本的SELECT语句

【手把手教你玩MySQL】基本的SELECT语句

【手把手教你玩MySQL】基本的SELECT语句

下载安装Mysql查看这个地址:https://blog.csdn.net/qq_40990306/article/details/120448462?spm=1001.2014.3001.5501
导入数据库表内容查看这个地址:https://blog.csdn.net/qq_40990306/article/details/130294773?spm=1001.2014.3001.5501

#SELECT…
#没有任何子句
SELECT 1;
SELECT 9/2;

#SELECT … FROM
#语法
#SELECT 标识选择那些列
#FROM 标识从那个表中选择

#选择全部列
SELECT * FROM departments;

#选择特定的列
SELECT department_id,location_id FROM departments;

#列的别名
SELECT last_name AS name,commission_pct comm FROM employees;

#去除重复行
SELECT DISTINCT department_id,location_id FROM employees;

#空值参与运算
#所有运算符号或列值遇到null值 运算的结果都为null
SELECT employee_id,salary,commission_pct, 12 * salary * (1 + commission_pct) “annual_sal”
FROM employees;

#着重号
SELECT * FROM ORDER; #错误示范 关键字冲突
SELECT * FROM ORDER;#正确示范

#显示表结构 使用DESCRIBE 或 DESC命令,表示表数据结构。
DESCRIBE employees;

DESC employees;

Field:表示字段名称。

#Type:表示字段类型,这里 barcode、goodsname是文本型的,price是整数类型的。
#Null:表示该列是否可以存储NULL值。
#Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。
#Default:表示该列是否有默认值,如果有,那么值是多少。
#Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。

#语法
#SELECT 字段1,字段2 FROM 表名 WHERE 过滤条件
SELECT employee_id,last_name,job_id, department_id
FROM employees
WHERE department_id = 90 ;

【SQL练习】

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

#理解1:计算12月的基本工资
SELECT employee_id,last_name,salary * 12 “ANNUAL SALARY”
FROM employees;

#理解2:计算12月的基本工资和奖金
SELECT employee_id,last_name,salary * 12 * (1 + IFNULL(commission_pct,0)) “ANNUAL SALARY”
FROM employees;

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

SELECT DISTINCT job_id
FROM employees;

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

SELECT last_name,salary
FROM employees
WHERE salary > 12000;

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

SELECT last_name,department_id
FROM employees
WHERE employee_id = 176;

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

DESCRIBE departments;

SELECT * FROM departments;