书籍笔记-《SQL必会知识》

栏目: 数据库 · 发布时间: 5年前

内容简介:排序规则说明:默认按照字母排序,不区分大小写(如要区分大小写,需要在数据库中设置,通过SQL语句设置不了)

一、概念

  1. 数据库:DB(database)
  2. 数据库软件:DBMS(database manage system)

二、基本操作

SELECT操作

  1. 从 products表中检索一个名为prod_name和prod_id的列 
    SELECT prod_name,prod_id FROM products;复制代码
  2.   从 products表中检索所有的列  
    SELECT * FROM products;复制代码
  3. 从 products表中检索所有供应商(过滤相同的id),使用  DISTINCT  关键字
    SELECT DISTINCT vend_id FROM products;复制代码
  4. 从 products表中检索不多于5行数据,使用 LIMIT 关键字
  • 获取前5行(从第一行开始,索引为0即LIMIT 0,5)
    SELECT prod_name FROM products LIMIT 5;复制代码
  • 从第6行开始,获取10条数据(指定开始的行数,和获取的行数)
    // 第1种方式
    SELECT prod_name FROM products LIMIT 5,10;
    // 第2中方式
    SELECT prod_name FROM products LIMIT 10 OFFSET 6;复制代码
  • 限定数据库下的表和表下的列名称
    SELECT products.prod_name FROM carshcourse.products;复制代码
  • 排序检索数据

    排序规则说明:默认按照字母排序,不区分大小写(如要区分大小写,需要在数据库中设置,通过 SQL 语句设置不了)

    1. 先按价格排序,然后在每个价格中再按名排序 ,使用  ORDER BY 
      SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name;复制代码
    2. 指定 排序 方向,使用 DESC (降序)
      SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC;复制代码
    3. 多个排序字段,指定排序方向,未指定的字段按照默认升序 ( ASC)  排序
      SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name;复制代码
    4. 使用ORDER BY和LIMIT的组合,能够找出一个列中最高或最低的值 
      SELECT prod_price FROM products ORDER BY prod_price DESC LIMIT 1; 复制代码

    简单过滤数据

    1. 从products表中检索两个列,但不返回所有行,只返回prod_price值为2.50的行  
      SELECT prod_price,prod_name FROM products WHERE prod_price = 2.50; 复制代码
    2. 条件操作符:等于(=)、不等于(<>或者!=)、小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、在指定的两个值之间(BETWEEN)在使用 BETWEEN 时,必须指定两个值——所需范围的低端值和高端值。这两个值必须用AND关键字分隔
      SELECT prod_price,prod_name FROM products WHERE prod_price BETWEEN 5 AND 10; 复制代码
    3. 空值(NULL)检查
      SELECT prod_name FROM products WHERE prod_price IS NULL; 复制代码

    复杂数据过滤

    1. 检索由供应商1003制造且价格小于等于10美元的所有产品的名称和价格 ( AND )
      SELECT prod_price,prod_name FROM products WHERE vend_id = 1003 AND prod_price = 10; 复制代码
    2. 检索由任一个指定供应商制造的所有产品的产品名和价格  ( OR )
      SELECT prod_price,prod_name FROM products WHERE vend_id = 1002 OR vend_id = 1003; 复制代码
    3. 列出价格为10美元(含)以上且由1002或1003制造的所有产品 ,一定要使用“()”,因为AND的计算次序优先级高于OR
      SELECT prod_price,prod_name FROM products WHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price >= 10;; 复制代码
    4. IN 操作符 - 用来指定条件范围 。例:检索供应商1002和1003制造的所有产品  
      // 在使用长的合法选项清单时, IN操作符的语法更清楚且更直观 
      // 在使用IN时,计算的次序更容易管理(因为使用的操作符更少)
      // IN操作符一般比OR操作符清单执行更快
      // IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句
      SELECT prod_price,prod_name FROM products WHERE vend_id IN (1002,1003);复制代码

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

    查看所有标签

    猜你喜欢:

    本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

    Ajax模式与最佳实践

    Ajax模式与最佳实践

    Christian Gross / 李锟、张祖良、蔡毅、赵泽欣 / 电子工业出版社 / 2007-3 / 49.80元

    Ajax 正在将我们带入到下一代的网络应用中。 本书深入探讨了动态的网络应用,将Ajax和REST集成在一起作为单独的解决方案。一个很大的优势是,与Ajax相似,REST可以和现今存在的技术一起使用。现在上百万的客户端计算机都是基于Ajax的,上百万的服务器是基于REST的。   无论你是否已经开发过Ajax应用程序,这都是一本理想的书。因为这本书描述了各种各样的模式和最好的实践经验。通过此......一起来看看 《Ajax模式与最佳实践》 这本书的介绍吧!

    Base64 编码/解码
    Base64 编码/解码

    Base64 编码/解码

    Markdown 在线编辑器
    Markdown 在线编辑器

    Markdown 在线编辑器

    正则表达式在线测试
    正则表达式在线测试

    正则表达式在线测试