检索数据

关键字:

  SELECT  DISTINCT  LIMIT  OFFSET  FROM

  SELECT与FROM用于基础的检索,基本语法为:

    SELECT  column_name,column_name,column_name...column_name FROM  table_name;

  注:默认不排序;sql不区分大小写,但是建议SQL关键字使用大写,本文遵守此规则;建议每个SQL写完后跟上“;”,本文遵守此规则。

  检索所有列:

SELECT * FROM table_name;

  注:*会默认返回所有列的内容,不建议使用*,因为会检索所有内容造成不必要的性能浪费。

  检索不同值:

SELECT DISTINCT column_name,column_name...column_name FROM table_name;

  注:DISTINCT关键字作用于所有列,既对所有检索的列名都进行排它。

  限制结果:

SELECT column_name FROM table_name LIMIT x;

SELECT column_name FROM table_name LIMIT x OFFSET y;

  注:LIMIT表示检索多少行,OFFSET表示从第几行数据开始(第一行数据的下标为0),x与y都是数字(int)


排序检索数据

关键字:

  ORDER BY

  ORDER BY的基本用法:

SELECT column_name FROM table_name ORDER BY column_name;

  注:数据库本身的查询顺序是无意义的(虽然大部分会按照默认顺序排列,但是随着数据的删除等操作,会导致顺序最终无意义,所以就默认为无意义的)

    子句:由SQL的关键字与对应的数据组成。例如SELECT子句与FROM子句。

    ORDER BY子句的位置应该为SELECT的最后(除正序、倒序关键字外)

    ORDER BY也可以对非选择列(不是SELECT子句检索的列)进行排序。

  进行多个列检索时:

SELECT column_name FROM table_name ORDER BY column1_name, column2_name;

  注:仅当column1_name一致时才会对column2_name进行排序,如果column1_name都是唯一的相当于仅对column1_name排序。

  升降序检索:

SELECT column_name FROM table_name ORDER BY column_name DESC/ASC, column2_name;

  注:降序:DESC  升序:ASC  默认就是升序的。

    升降序关键字仅影响其前面的列。


过滤数据

关键字:

  where

  操作符:=   !=  >=  <=  >  <  BETWEEN(AND)  IS NULL

  仅对单个值过滤

SELECT column_name FROM table_name WHERE column_name OPERATION condition;

  注:condition何时使用引号呢?  仅限限定字符串时才需要使用引号,一般使用单引号即可。

    BETWEEN  condition1  AND condition2  在限定范围时,该关键字包含限定的两个条件。


高级数据过滤

关键字:

  WHERE  AND  OR  IN  NOT

  多个限定条件的过滤:

SELECT column_name FROM table_name WHERE () AND/OR ();

  注:()表示限定的条件。

    AND要求两个条件都符合。

    OR要求两者符合其一即可,多数DBMS在OR满足条件1时就不在计算第二个条件了。

    AND与OR会有默认的求值顺序,即AND操作符优于OR操作符,当过滤条件>=3个的时候就要注意操作符顺序了,可以使用()来强制要求顺序,好习惯就是忽略默认顺序,优先使用()。

  IN操作符的用法:

SELECT column_name FROM table_name WHERE column_name IN (condition1, confition2, ..., conditionN);

  IN操作符与OR的作用是相同的,但是具有以下优点:

    1.语法更加直观清晰。

    2.求值顺序更加容易管理。

    3.IN操作符比一组OR操作顺序快。

    4.IN可以包含其他SELECT语句(后面同步)。

  NOT操作符的用法:

SELECT column_name FROM table_name WHERE NOT ();

  NOT仅否定跟在其后的条件。NOT与IN联合使用时会更有优势。


用通配符进行过滤

关键字:

  LIKE  %

概念:

  通配符:用来匹配值得一部分的特殊字符。

  搜索模式:由字面值和通配符或两者组合构成的搜索条件。

  注:使用通配符必须配合LIKE操作符。

  百分号(%)通配符:

SELECT column_name FROM table_name WHERE column_name LIKE 'String%'

  注:上面的语句将检索column_name以String内容开头的数据。

    ‘%String’:  匹配以String内容结尾的数据

    '%String%':  匹配包含String内容的数据

    'String%String'  匹配以String内容开始,以String结尾内容的数据

    %匹配0、1和多个字符。且不能匹配到NULL。

  下划线(_)通配符:

  注:下划线与%的作用相同,但是仅匹配单个字符。

  通配符使用注意事项:

    1.通配符使用要适度。

    2.尽量不要在搜索的开头使用通配符。

    3.注意通配符的位置。


SQL的复习与总结的更多相关文章

  1. SQL语句复习【专题一】

    SQL语句复习[专题一] --创建用户 scott 并设置密码为 tiger create user scott identified by tiger --用户刚刚创建没有任何的权限,连登录的权限都 ...

  2. SQL语句复习【专题二】

    SQL语句复习[专题二] 单行函数(日期.数学.字符串.通用函数.转换函数)多行函数.分组函数.多行数据计算一个结果.一共5个.sum(),avg(),max(),min(),count()分组函数  ...

  3. SQL语句复习【专题三】

    SQL语句复习[专题三] DML 数据操作语言[insert into update delete]创建表 简单的方式[使用查询的结果集来创建一张表]create table temp as sele ...

  4. SQL语句复习【专题四】

    SQL语句复习[专题四] 多表查询 sql 92多表查询 sql92.sql99 标准--查询所有员工的姓名,部门编号,部门名称select * from empselect * from dept- ...

  5. SQL语句复习【专题五】

    SQL语句复习[专题五] 单行子查询:只会得到一个结果的子查询[子查询的内容必须放在小括号中.在查询语句中的查询语句 ]--查询所有比 CLARK 员工 工资高的员工--1.先查询 CLARK 员工的 ...

  6. SQL语句复习【专题六】

    SQL语句复习[专题六] 用户 + 创建表  --创建一个新的用户,然后给新的用户创建一张表,然后给表中添加一些数据.查询表中的数据 --创建用户需要比较大的权限 DBA create user di ...

  7. SQL语句复习【专题七】

    SQL语句复习[专题七] 完整性约束分类1)域完整性约束(非空not null,检查check)2)实体完整性约束(唯一unique,主键primary key)3)参照完整性约束(外键foreign ...

  8. SQL语句复习【专题八】

    SQL语句复习[专题八] 序列 Sequence.数据库对象是 oracle 专有的.作用:可以将某一列的值使用序列,来实现自动增长的功能.访问序列的值.[序列有两个属性 nextval currva ...

  9. SQL语句复习【专题九】

    SQL语句复习[专题九] 视图:View视图的概念:视图是从若干基本表或其他视图构造出来的表.在创建一个视图时,只是存放的视图的定义,也即是动态检索数据的查询语句,而并不存放视图对应的数据在用户使用视 ...

  10. sql语法复习:增删查改,各种数据库对象创建和函数使用

    推荐工具:机子配置较低的话,可以装Gsql这个工具获得sql执行环境(可作为手册查看内置数据类型 函数和存储过程等) --之前数据库的东西接触不多,虽然基本的语法是了解,但不是很熟悉--最近项目一直在 ...

随机推荐

  1. nyoj42——连通图加欧拉(连通图板子)dfs

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

  2. 【转】ubuntu下如何将笔记本自带的键盘关闭

    想必大家都经历过这样的情况:在使用usb接口的外接键盘的时候,很容易按到笔记本自带的键盘,从而导致输入错误.尤其是你将外接键盘放在笔记本键盘上面的时候.怎么解决这个问题呢? 搜索之后,找到了答案.注意 ...

  3. Highcharts 散点图

    Highcharts 散点图 配置 chart 配置 配置 chart 的 type 为 'scatter' .chart.type 描述了图表类型.默认值为 "line". ch ...

  4. restframework api(基础2)

    一 socket简介 1 最简单的socket #################server import socket ip_port = ('127.0.0.1',9997) sk = sock ...

  5. 公客网beta阶段发布说明

    项目 公客 公正客观的课程评价网站 功能说明 评价的增删改 对课程发表评价 限制评价次数(3次),删除与增量修改评价 评价下的讨论与点赞 在评价下添加讨论,支持在讨论中使用@与对方交流想法 为评价点赞 ...

  6. L163

    Chickens slaughtered in the United States, claim officials in Brussels, are not fit to grace Europea ...

  7. weblogic应用加载不上

    这个的问题是编译的问题,在web-inf文件中的classes中少了config文件夹的配置信息 可在项目的build path 中的source中配置

  8. three.js入门——先跑个旋转的正方体

    WebGl中文网看了几篇教程,又百度了几篇文章,顿时感觉手痒,打开编辑器,写个demo玩玩. demo是写在vue项目中的,所以首先: npm install three --save; npm in ...

  9. 每周荐书:机器学习、Java虚拟机、微信开发(评论送书)

    每周荐书:机器学习.Java虚拟机.微信开发(评论送书) 感谢大家对每周荐书栏目的支持,先公布下上周中奖名单 年精心雕琢,难得的"理论 + 实战案例 + 趟坑经验"总结 从需求分析 ...

  10. 哈工大LTP语言分析:分词、词性标注、句法分析等

    1. LTP介绍和安装 LTP语言云官网  在线演示 | 语言云(语言技术平台云 LTP-Cloud) 安装LTP的python接口包 $ sudo pip install pyltp 模型文件下载 ...