一、SELECT

  建表及数据填充语句下载:链接: https://pan.baidu.com/s/1WHYafwqKJEKq1kDwCH_Zlg 提取码: 3wy4

  SELECT用于指定检索返回的结果。(本例均采用mysql)

  FROM用于指定检索的表。

  例如:SELECT prod_name FROM products;

  会检索products表,返回prod_name列。

  

  运行结果如下

  

  SELECT中可以指定多个列,列名直接用“,”隔开。

  SELECT colName1,colName2,colName3... FROM tableName;

  

  如果需要返回所有列,可以采用“*”。

  SELECT * FROM tableName;返回指定表所有列。

  

  注:如果不是必须返回所有列,不要这样写,返回所有列会降低检索性能。

 

二、ORDER BY

  检索出来所显示的数据的顺序是不确定的,这时需要人为对其排序。

  排序所使用的关键字为ORDER BY colName,后面加上排序所依据的列,也就是说按照(colName列)进行排序(默认升序)。

  ORDER BY需要放在最后面。

  

  指定了按prod_name排序(默认升序)。

  ORDER BY 后面可以指定多个列名,例如ORDER BY colName1,colName2,colName3...;

  排序时会先按colName1中数据进行比较进行排序,如果colName1中的数据相同无法,则按colName2中的数据进行排序。

  如果colName1可以区分出次序,则后续列名都不会起作用。

  例如上图中先按vend_id排序,在vend_id相同的情况下按照prod_price进行排序。

  

  之前说到默认排序是升序,那么必定有方法可以将其设置为降序。

   设置为降序需要通过DESC(descend)关键字来实现。升序:ASC(ascension )

   

  上图先采用vend_id升序排列,在vend_id相同的情况下采用prod_price进行降序排列。

  由于默认是升序,所以ASC可以不指定。(如果是升序可以不用添加,如果是降序则必须添加)

  如果要按多列进行降序排序,则每个列名后都需要添加DESC。

  

  

三、WHERE

  上列通过SELECT * FROM tableName检索出来的数据是全部的数据。

  有没有办法只检索出我们需要的数据呢?例如所有单价为3.49的商品。

  这时就需要通过WHERE指定添加,即返回我们需要的数据。

  先看一个例子

  

  这里返回了所有prod_price小于5的商品信息。这里我们先来分析下执行顺序。

  首先执行FROM找到需要进行查询的表,然后执行WHERE语句,找出所有prod_price小于5的行。

  接着执行ORDER BY对其先按vend_id降序排序,然后再按prod_price升序排序。最后执行selece

  展示出检索结果的所有列。

  WHERE支持的操作符号有

  =:等于

  <>, !=:不等于。

  <:小于

  >:大于;

  <=

  >=

!<:不小于,即大于等于。

  !>:不大于,即小于等于。

  BETWEEN:位于指定两个值之间。

  IS NULL:为null

 (不同的数据库管理软件对操作符的支持不太一样,某些数据库管理软件不支持某一些操作符,具体以查询相关文档为准。)

  注:WHERE的筛选条件中,如果值为数字不要加‘’(例如上例中的5),如果值为字符类型则需要添加‘’(例如下例中的‘DLL01’)。

  

  筛选出vend_id不等于‘DLL01’的商品。

  

  接下来我们试下BETWEEN,筛选出prod_price位于5-10之间的商品。

  

  指定在两个值之间,两个值需要使用AND连接。

  使用BETWEEN检索出来的结果会包含两端的值,即如果prod_price等于5,或等于10的商品也会被包含进来。

  [5,10]闭区间。

  

  IS NULL,检索指定列名中的属性为空的行。

  例如表中cust_email有两项为空,现在需要检索出cust_eamil为空的行。

  

  结果如下:

  

   

参考资料:

《SQL必知必会》 

1.1(SQL学习笔记)SQL基础的更多相关文章

  1. [SQL] SQL学习笔记之基础操作

    1 SQL介绍 SQL 是用于访问和处理数据库的标准的计算机语言.关于SQL的具体介绍,我们通过回答如下三个问题来进行. SQL 是什么? SQL,指结构化查询语言,全称是 Structured Qu ...

  2. SQL学习笔记:基础SQL语句

    目录 语句特点 进入数据库 基本查询语句 SELECT DISTINCT WHERE AND/OR/NOT :逻辑运算符 ORDER BY :排序 基本修改语句 INSERT:添加语句 UPDATE: ...

  3. PL/SQL学习笔记_01_基础

    PL/SQL语句可以在Oracle客户端的 SQL窗口或者 command  窗口中运行 在SQL窗口中运行步骤同 SQL语句 在command  窗口中运行的步骤如下: 1)File—new com ...

  4. SQL学习笔记:基础教程

    SQL语法 在表中选择列 select 列名 from 表名 选择所有列 select * from 表名 返回唯一值 select distinct 列名 from 表名 where select ...

  5. PL/SQL学习笔记_01_基础:变量、流程控制

    PL/SQL语句可以在Oracle客户端的 SQL窗口或者 command  窗口中运行 在SQL窗口中运行步骤同 SQL语句 在command  窗口中运行的步骤如下: 1)File—new com ...

  6. SQL学习笔记——SQL初入门,Ubuntu下MySQL的安装

          刚开始接触sql,于是准备在Ubuntu下学习sql,就跟着itercast的sql教程开始入门了. 下面只是我个人的记录,高手请绕道: 一. 在安装之前,我们可以用下面这个命令通过开放端 ...

  7. SQL学习笔记 SQL ORDER BY 关键字

    SELECT column_name,column_nameFROM table_nameORDER BY column_name,column_name ASC|DESC; SELECT id, n ...

  8. SQL学习笔记——SQL中的数据查询语句汇总

    where条件表达式 --统计函数 Select count(1) from student; --like模糊查询 --统计班上姓张的人数 select count(*) from student ...

  9. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

随机推荐

  1. Django rest framework 的认证流程(源码分析)

    一.基本流程举例: urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^users/', views.HostView.as_view() ...

  2. Bit banging

    Bit banging Bit banging is a technique for serial communications using software instead of dedicated ...

  3. docker基于本地模版导入创建镜像

    /* 因为直接去网站拿会下载的慢,所以直接到网站里,对着此包--〉右键--〉复制链接地址 网站地址:https://openvz.org/Download/template/precreated */ ...

  4. MiCode 40: 找小“3”

    题目链接 这道题真的是zjb恶心, 看其起来像是个数位dp, 然而我并不会数位dp.然后就xjb乱写了个雷类似于动态规划的玩意, 然后调出了\(9\times 9 = 81\)种Bug, 终于过了. ...

  5. HDU - 2818

    Building Block Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. python之路——面向对象进阶

    阅读目录 isinstance和issubclass 反射 setattr delattr getattr hasattr __str__和__repr__ __del__ item系列 __geti ...

  7. pku 2777(经典线段树染色问题)

    Count Color Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 41202   Accepted: 12458 Des ...

  8. Search a 2D Matrix——两度二分查找

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  9. python语言的模块化

    在实际工程中使用的编程语言,都有(也应该有)自己的模块化方式,这是由于:一个文件不可能写的无限长,把不同性质和功能的代码放入不同的文件,再由文件组成不同的文件夹,这种方式符合人们思考和理解的习惯,不过 ...

  10. Sql Server递归查询(转)

    有如下数据表 假如我们要查询ID为003的数据的所有子节点我们可以使用CTE 递归查询完成... if OBJECT_ID('tb','N') is not null drop table tb; c ...