基本的SELECT语句
文章目录
1. SELECT … FROM
-
语法
SELECT 标识选择哪些列 FROM 标识从哪个表中选择
-
选择全部列
SELECT * FROM departments;
-
选择特定的列
SELECT department_id, location_id FROM departments;
2. 列的别名
重命名一个列,便于计算
-
使用AS(alias),可以省略
SELECT last_name AS name, commission_pct comm FROM employees;
-
别名使用双引号 " ",在别名中包含空格或特殊字符使用双引号
SELECT last_name "Name", salary* 12 "Annual Salary" FROM employees;
3. 去掉重复行
默认情况下,查询会返回全部行,包括重复行
-
在SELECT语句中使用关键字DISTINCT去除重复行
SELECT DISTINCT department_id FROM employees;
注意:DISTINCT 需要放到所有列名的前面
4. 空值参与运算
-
所有运算符或列值遇到null值,运算的结果都为null
SELECT employee_id,salary,commission_pct, 12 * salary * ( 1 + commission_pct) "annual_sal" FROM employees;
注意:在 MySQL 里面,空值不等于空字符串,一个空字符串的长度是 0 ,而一个空值的长度是空,而且在 MySQL 里面,空值是占用空间的。
5.着重号
我们需要保证表中的字段,表名等没有和保留字,数据库系统或常用方法名字冲突,若相同,使用着重号 `` 以示区别
SELECT * FROM `order`;
6. 查询常数
SELECT 查询还可以对常数进行查询。在 SELECT 查询结果中增加一列固定的常数列,这列的取值是我们指定的,而不是从数据表中动态取出的。
#对employees 数据表中的员工姓名进行查询,同时增加一列字段corporation,这个字段固定值为“百度”
SELECT '百度' as corporation, last_name FROM employees;
7.显示表结构
使用DESCRIBE 或 DESC 命令,表示表结构,显示表中字段的详细信息
DESCRIBE employees;
DESC employees;
8. 过滤数据
-
语法:
SELECT 字段1,字段 2 FROM 表名 WHERE 过滤条件
-
举例:
SELECT employee_id, last_name, job_id, department_id FROM employees WHERE department_id = 90 ;