美文网首页
SQL—检索数据

SQL—检索数据

作者: Mg明明就是你 | 来源:发表于2016-10-17 17:52 被阅读108次
  • 数据库(database):
    • 是一个以某种有组织的方式存储的数据集合。最简单的方法是将数据库想象为一个文件柜。

SELECT语句

使用select检索表数据

  • 检索单个列:(pro_name是列名,Products是表)
    - SELECT pro_name FROM Products;
  • 检索多个列
    - SELECT pro_id,pro_price,pro_name FROM Products;
  • 检索所有列:(* 是通配符)
    - SELECT * FROM Products;
  • 检索不同的值:(DISTINCT)
    - SELECT DISTINCT vendo_id FROM Products 注意不能部分使用DISTINCT。因为DISTINCT 作用于所有的列,不仅仅是跟在最后的那一列。比如:SELECT DISTINCT pro_id,pro_price,所有的列都会被检索出来。
  • 限制结果:(LIMIT)
    - SELECT pro_name FROM Products LIMIT 5 OFFSET 5 (注意:第1点、LIMIT 1 OFFSET 1会检索第2行,而不是第1行。第2点、LIMIT 4 OFFSET 3等价于LIMIT 3,4)
  • 使用注释:(--或#或/* /)
    - SELECT pro_name --这是一条注释 FROM Products (第一点:注释使用--(两个连字符)嵌在行内。--之后就是注释。 第二点:在一行的开始使用#。这一整行都将作为注释。第三点:注释从/
    开始,到/结束,/和*/之间的任何内容都是注释)



排序检索数据

排序数据(ORDER BY)

保证ORDER BY是SELECT语句中最后一条语句,如果不是,就会出现错误信息。

  • 按单个列排序:(pro_name是列名,Products是表)
    - SELECT pro_name FROM Products ORDER BY pro_name ;
  • 按多个列排序
    - SELECT pro_id,pro_price,pro_name FROM Products ORDER BY pro_name,pro_price;
  • 按列位置排序
    - SELECT pro_id,pro_price,pro_name FROM Products ORDER BY 2,3;
  • 指定排序方向
    - SELECT pro_id,pro_price,pro_name FROM Products ORDER BY pro_price DESC; // 降序排序 (注意:如果想在多个列进行降序排序,必须对每一列指定DESC关键字)



过滤数据

使用WHERE语句

数据库一般包含大量的数据,很少需要表中的所有行。通常只会根据特定的操作或报告的需要提取表中数据的子集。只检索所需数据需要的指定的搜索条件(search criteria),搜索条件也称为过滤条件(filter condition),在SELECT语句中,数据根据WHERE语句中指定的搜索条件进行过滤。WHERE语句在表名(FROM语句)之后给出。
- SELECT pro_id,pro_price,pro_name FROM Products WHERE pro_price = 3.67;

WHERE语句操作符

操作符 说明 操作符 说明
= 等于 > 大于
<> 不等于 >= 大于等于
!= 不等于 !> 不大于
< 小于 BETWEEN 在指定的两个值之间
<= 小于等于 IS NULL 为NULL值
!< 不小于 nil
  • 检查单个值
    • SELECT pro_id,pro_price,pro_name FROM Products WHERE pro_price < 7;
  • 不匹配检查
    • SELECT vend_id,pro_name FROM Products WHERE vend_id <> 'DLL02';
  • 范围值检查:(指定开始日期和结束日期之间的所以日期或者价格区间)
    • SELECT pro_price,pro_name FROM Products WHERE pro_price BETWEEN 5 AND 8;
  • 空值检查
    • SELECT cust_name FROM Customers WHERE cust_email IS NULL;



高级过滤数据

组合WHERE子句

主要有两种方式:即以AND子句或者OR子句的方式使用。区别在AND要满足多个条件,而OR在WHERE子句的第一个条件得到满足的情况下就不会计算第二个条件了(不管第二个条件是否满足,相应的行22都会被检索出来) 。如果WHERE子句中,有AND也有OR,优先2处理AND操作符。

  • AND操作符
    • SELECT pro_id,pro_price,pro_name FROM Products WHERE pro_price < 7 AND pro_name = 'DLL02';
  • OR操作符
    • SELECT pro_id,pro_price,pro_name FROM Products WHERE pro_price < 7 OR pro_name = 'DLL02';
  • 求值顺序
    • SELECT pro_id,pro_price,pro_name FROM Products WHERE pro_price < 7 OR pro_name = 'DLL02' AND pro_id = '3';

IN操作符

IN操作符用来指定条件范围,范围中的每个条件度可以匹配。IN取一组由逗号分隔、扩在圆括号中的合法值。

  • SELECT pro_price,pro_name FROM Products WHERE vend_id IN ('DLL02','BRS02');

NOT操作符

WHERE子句中的NOT也有且只有一个功能,那就是否定其后所跟的任何条件

  • SELECT pro_price,pro_name FROM Products WHERE NOT vend_id = 'DLL02' ORDER BY pro_name ;

相关文章

  • SQL—检索数据

    数据库(database):是一个以某种有组织的方式存储的数据集合。最简单的方法是将数据库想象为一个文件柜。 SE...

  • SQL 检索数据

    前面的两篇文章,小鱼为大家介绍了数据库和数据库管理软件 MySQL 的基本概念。本节呢,我们先来学习基本的 SQL...

  • SQL 学习笔记

    SQL基础 参考书籍: 《SQL必知必会》 检索数据 过滤数据 函数 分组数据 子查询 简单联结 法一: 法二: ...

  • 【SQL】(二):检索数据

    本系列为自己学习时的笔记及心得体会,转载请注明出处。 原表: 1、select语句 从一个或多个表中检索信息。 2...

  • 我的SQL学习

    目录 1.SQL基础 2.检索数据 3.排序检索数据 4.过滤数据 5.高级过滤 6.通配符过滤 7.创建计算字段...

  • 09-10章 汇总分组数据

    第9章 9.1 聚集函数 如果需要汇总数据而不是检索,SQL 提供专用函数,可用于检索数据,以便分析和报表生成。这...

  • 《SQL必知必会》(第5版)

    第2课-检索数据 2.9 挑战题 1、编写SQL语句,从Customers表中检索所有的ID(cust_id) 正...

  • 数据分析之 SQL

    一般来说SQL主要是指SQL查询语言,mysql主要是数据库。 检索数据简单应用 表示通配符,匹配表中所有字段。 ...

  • SQL必知必会读书笔记9

    汇总数据 聚集函数 我们经常需要汇总数据而不同把他们实际检索出来,为此SQL提供了专门的函数,使用这些函数,SQL...

  • SQL必知必会----第四版(一)

    记录自己学习这本书的过程此篇文章包括检索、排序检索数据和过滤数据 通往其他文章的入口:SQL必知必会----第四版...

网友评论

      本文标题:SQL—检索数据

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