美文网首页
MaiaDB 查询表(六)

MaiaDB 查询表(六)

作者: simuty | 来源:发表于2016-12-13 10:37 被阅读20次
第一部分 基本SELECT

1.1 检索单列

> SELECT 列名 FROMM 表名;

1.2 检索多列

> SELECT 列名1, 列名2, 列名3...
    FROM 表名;

1.3 检索所有的列

> SELECT * FROM 表名;

1.4 去除重复列

> SELECT DISTINCT 列名 FROM 表名;

**DISTINCT: **去除重复行

1.5 限制检索数

> SELECT 列名 FROM 表 LIMIT 4;

刷选所用数据中的前4行;

1.6 基本排序

升序: 默认 <ASC>(ascending order);
降序:**DESC**(descending order);
    > SELECT * FROM books ORDER BY book_id;
    +---------+------------------+------------------+------------------+-------------+----------+------+
| book_id | book_name        | book_author_name | publication_date | description | classify | c    |
+---------+------------------+------------------+------------------+-------------+----------+------+
|       1 | 跟我学MariaDB    | NULL             | 2016-12-03       | NULL        | 18       | NULL |
|       2 | NodeJS           | NULL             | 2016-12-02       | NULL        | 18       | NULL |
|       3 | HTTP权威指南     | NULL             | 2002-01-01       | NULL        | 18       | NULL |
> SELECT * FROM books ORDER BY book_id DESC;
+---------+------------------+------------------+------------------+-------------+----------+------+
| book_id | book_name        | book_author_name | publication_date | description | classify | c    |
+---------+------------------+------------------+------------------+-------------+----------+------+
|      22 | 巨人的陨落       | NULL             | 2016-05-01       | NULL        | 11       | NULL |
|      21 | 史记             | NULL             | 1982-11-01       | NULL        | 11       | NULL |
|      20 | 国史大纲         | NULL             | 2013-08-01       | NULL        | 11       | NULL |
|      19 | 人类简史         | NULL             | 2014-11-01       | NULL        | 11       | NULL |

1.7 按列的位置排序

SELECT book_id, book_name, description FROM books ORDER BY 2, 3; 表示先按book_name排序, 然后按照description排序;

第二部分 过滤数据 WHERE

2.1 WHERE 支持条件判断

1. 大于: >;
2. 小于: <;
3. 等于: =;
4. 大于等于: >=;
5. 小于等于: <=;
6. 不等于: !=;

实例: 检测单个值, 可以将WHERE支持的条件判断语句替换;

> SELECT * FROM books WHERE book_id = 1;

2.2 范围检测BETWEEN AND

> SELECT book_id, book_name FROM books WHERE book_id BETWEEN 3 AND 10;
+---------+------------------+
| book_id | book_name        |
+---------+------------------+
|       3 | HTTP权威指南     |
|       4 | 追风筝的人       |
|       5 | 小王子           |
|       6 | 围城             |
|       7 | 活着             |
|       8 | 解忧杂货店       |
|       9 | 简爱             |
|      10 | 平凡的世界       |
+---------+------------------+

2.3 空值检测 NULL: 列 IS NULL;

> SELECT book_id, book_name FROM books WHERE description IS NULL;

2.4 筛选 AND 前后共同满足条件

+---------+------------------+------------------+------------------+-------------+----------+------+
| book_id | book_name        | book_author_name | publication_date | description | classify | c    |
+---------+------------------+------------------+------------------+-------------+----------+------+
      16 | 国富论           | NULL             | 2005-01-01       | NULL        | 6        | NULL |
|      17 | 伟大的博弈       | NULL             | 2005-01-01       | NULL        | 6        | NULL |
> SELECT book_id, book_name FROM books WHERE book_id = 16 AND publication_date = '2005-01-01'; 
+---------+-----------+
| book_id | book_name |
+---------+-----------+
|      16 | 国富论    |
+---------+-----------+
1 row in set (0.01 sec)

2.5 筛选 OR 前后 满足一个条件即可

> SELECT book_id, book_name FROM books WHERE book_id = 16 OR publication_date = '2005-01-01'; 
+---------+-----------------+
| book_id | book_name       |
+---------+-----------------+
|      10 | 平凡的世界      |
|      16 | 国富论          |
|      17 | 伟大的博弈      |
+---------+-----------------+
3 rows in set (0.00 sec)

2.6 AND OR 结合使用

筛选book_id等于** 3 或 10** ,并且在一月出版的书;默认从前往后执行, 当然可以用(..)

其中用到日期函数, 后续完善;

> SELECT * FROM books WHERE (book_id = 3 OR book_id = 10) AND  month(publication_date) = 1;
+---------+------------------+------------------+------------------+-------------+----------+------+
| book_id | book_name        | book_author_name | publication_date | description | classify | c    |
+---------+------------------+------------------+------------------+-------------+----------+------+
|       3 | HTTP权威指南     | NULL             | 2002-01-01       | NULL        | 18       | NULL |
|      10 | 平凡的世界       | NULL             | 2005-01-01       | NULL        | 9        | NULL |
+---------+------------------+------------------+------------------+-------------+----------+------+
2 rows in set (0.00 sec)

2.7 IN字句使用
INOR 非常类似, 不是指的范围;与BETWEEN区别开;

> SELECT * FROM books WHERE book_id IN (3, 10);
+---------+------------------+------------------+------------------+-------------+----------+------+
| book_id | book_name        | book_author_name | publication_date | description | classify | c    |
+---------+------------------+------------------+------------------+-------------+----------+------+
|       3 | HTTP权威指南     | NULL             | 2002-01-01       | NULL        | 18       | NULL |
|      10 | 平凡的世界       | NULL             | 2005-01-01       | NULL        | 9        | NULL |
+---------+------------------+------------------+------------------+-------------+----------+------+
2 rows in set (0.01 sec)

2.8 NOT字句使用
, 就是除了括号中的其余的所有;

> SELECT * FROM books WHERE book_id NOT IN (3, 10);

使用IN / NOT, 总的来说

1. 更清楚且更直观;
2. 效率也更高;
2. IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。

参考:

MySQL:日期函数、时间函数总结(MySQL 5.X)

更多精彩内容请关注“IT实战联盟”哦~~~


IT实战联盟.jpg

相关文章

  • MaiaDB 查询表(六)

    第一部分 基本SELECT 1.1 检索单列 1.2 检索多列 1.3 检索所有的列 1.4 去除重复列 **DI...

  • MaiaDB修改表(五)

    第一部分: 修改前的备份 1.1 删除数据库和表是不可逆的,修改删除前请慎重 备份数据的命令: mysqldump...

  • 单表数据查询

    单表查询示例Student表: Student表 Course表 SC表 查询若干列 查询指定列 查询Studen...

  • DDL-数据表操作

    查询 查询当前数据库所有表 查询表结构 查询指定表的建表语句 创建

  • SQL干货篇之查询数据

    单表查询 只在一个表中查询数据 多表查询 同时查询多个表 说明:这是在学生表student和成绩表SC中查询成绩大...

  • Access查询有哪些

    Access查询有哪些 Access查询分选择查询追加查询更新查询生成表查询交叉表查询联合查询等

  • sql _ 连表查询 & 授权

    一,连表查询 1)连表 简单查询_where 2) 连表 多种方式查询 3)子查询 综合以上查询示例 二,DCL数...

  • mysql查询、事物(四)

    知识要点: 单表查询 子查询 联表查询 事务 在进行查询之前,我们要先建好关系表,并往数据表中插入些数据。为查询操...

  • orm查询操作

    单表查询操作 外键的跨表查询 正向查询(在有外键字段的表向没有的表查询) 反向查询(没有外键的字段向有外键字段的表...

  • SQL语句集锦

    携带条件连表子查询(条件查询表b后的结果用来查询表a):SELECT a.* FROM 表a AS a INNE...

网友评论

      本文标题:MaiaDB 查询表(六)

      本文链接:https://www.haomeiwen.com/subject/vuwvmttx.html