【手把手教你玩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;