MySQL单表查询的操作和注意事项

一 、单表查询的语法

基本语法格式:
SELECT 字段1,字段2... FROM 表名
                  WHERE 条件
                  GROUP BY field 分租
                  HAVING 筛选
                  ORDER BY field 排序
                  LIMIT 限制条数

二、 关键字的执行优先级(重点)

重点中的重点:关键字的执行优先级 from -->where--> group  by--> having -->select -->distinct -->order by--> limit

1.找到表:from

2.拿着where指定的约束条件,去文件/表中取出一条条记录

3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组

4.将分组的结果进行having过滤

5.执行select

6.去重

7.将结果按条件排序:order by

8.限制结果的显示条数

三、 简单查询

company.employee
    员工id      id                  int           
    姓名        emp_name            varchar
    性别        sex                enum
    年龄        age                int
    入职日期    hire_date          date
    岗位        post                varchar
    职位描述    post_comment        varchar
    薪水        salary              double
    办公室      office              int
    部门编号    depart_id          int

#创建表
create table employee(
id int not null unique auto_increment,
name varchar(20) not null,
sex enum('male','female') not null default 'male', #大部分是男的
age int(3) unsigned not null default 28,
hire_date date not null,
post varchar(50),
post_comment varchar(100),
salary double(15,2),
office int, #一个部门一个屋子
depart_id int
);


#查看表结构
MySQL> desc employee;
+--------------+-----------------------+------+-----+---------+----------------+
| Field        | Type                  | Null | Key | Default | Extra          |
+--------------+-----------------------+------+-----+---------+----------------+
| id          | int(11)              | NO  | PRI | NULL    | auto_increment |
| name        | varchar(20)          | NO  |    | NULL    |                |
| sex          | enum('male','female') | NO  |    | male    |                |
| age          | int(3) unsigned      | NO  |    | 28      |                |
| hire_date    | date                  | NO  |    | NULL    |                |
| post        | varchar(50)          | YES  |    | NULL    |                |
| post_comment | varchar(100)          | YES  |    | NULL    |                |
| salary      | double(15,2)          | YES  |    | NULL    |                |
| office      | int(11)              | YES  |    | NULL    |                |
| depart_id    | int(11)              | YES  |    | NULL    |                |
+--------------+-----------------------+------+-----+---------+----------------+

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/79a94b0a175e35dfda2ea3e6df0d9489.html