检索和排序数据

  • 前言
  • 一、关于SQL你需要知道的事
    • 1.一些关键的概念
    • 2.注意事项
  • 二、检索和排序数据
    • 1.创建一个表和插入数据
    • 2.检索数据-Select的使用
    • 2.排序数据-Order by的使用
  • 总结

前言

一、关于SQL你需要知道的事

SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Struictured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。与其他语言(如英语或Java或Visual Basic这样的程序设计语言)不一样,SOL由很少的词构成,这是有意而为的。设计SQL的目的是很好地完成一项任务——提供一种从数据库中读写数据的简单有效的方法。

标准SQL由ANSI标准委员会管理,从而称为ANSISQL。所有主要的DBMS,即使有自己的扩展,但都支持ANSISQL。各个实现有自己的名称,如PL/SQL,Transact-SQL’等,本书讲授的SQL主要是ANSI SQL,在使用某种DBMS(Oracle、SqlServer、MySQL等)特定的SQL时,将会进行说明

1.一些关键的概念

1.数据库: 但就本书而言(以及从SOL的角度来看),数据库是一个以某种有组织的方式存储的数据集合。

2.DBMS:数据库管理系统,数据库是通过DBMS创建和操纵的。

3.表(table): 某种特定类型数据的结构化清单(表是一种结构化的文件,可用来存储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其他信息清单)

4.列(colomn):表中的一个字段。所有表都是由一个或多个列组成的(表由列组成。列中存储着表中某部分的信息。所以每一列的数据类型都一样,比如年龄都是数字类型,日期都是date类型等)

5.数据类型(datatype):所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。

6.行(row) 表中的一个记录(行和表表述的含义一样,但是记录是一般叫法,行是学名,是术语)。

7.主键(primary key):一列(或一组列),其值能够唯一标识表中每个行(虽然并不总是都需要主键,但大多数数据 库设计人员都保证他们创建的每个表具有一个主键,以便于以 后的数据操纵和管理。)。

2.注意事项

学习sql在于不断的练习,不断得敲代码,sql作为编程的基础,很有必有,数据分析师的面试和笔试sql几乎必考,所以一起撸起袖子加油干,敲好每一段代码。

二、检索和排序数据

1.创建一个表和插入数据

首先我们先建立一个表(本文的所有代码均在Oracle环境下,其他环境下稍作修改即可),创建表和插入照葫芦画瓢就行,这里不赘述。
代码如下(示例):

/*创建表格*/
Create table Products(
prod_id varchar2(255),
vend_id varchar2(255),
prod_name varchar2(255),
prod_price number(10,2),
prod_desc varchar(255)
)
/*插入数据*/
insert into Products(prod_id,vend_id,prod_name,prod_price,prod_desc) values('ID001','Rolls-Royce.A.C','RR007','1000','除了贵,没毛病');
insert into Products(prod_id,vend_id,prod_name,prod_price,prod_desc) values('ID002','Mercedes-Benz.A.C','BZ002','500','入门级轻奢');
insert into Products(prod_id,vend_id,prod_name,prod_price,prod_desc) values('ID003','Bugatti-Veyron.A.C','BV001','1000','激情与速度');
说明
prod_id 唯-的产品ID
vend_id 产品供应商ID(关联到Vendors表的vend_id)
prod_name 产品名
prod_price 产品价格
prod_desc 产品描述

先了解下oracle的常用的基本数据类型

2.检索数据-Select的使用

注:
1.oracle语句中,每条语句的结束,一般都以分号结尾

2.使用空格 在处理SQL语句时,其中所有空格都被忽略。SQL语句可以在一行上给出,也可以分成许多行。多数SQL开发人员认为将SQL语句分成多行更容易阅读和调试。

/*1.检索全部数据*/
select * from Products;  /*  * 称为通配符  */
/*2.检索单个列*/
select vend_id from products;
/*3.检索多个列*/
select vend_id,prod_desc from products;

图一:检索全部数据结果图

图二:检索多个列

补充:select的检索包含多条子语句时的,子语句使用顺序
子句(clause): SQL语句由子句构成,有些子句是必需的,而有的可选。一个子句通常由一个关键字加上所提供的数据组成。子句的例子有SELECT语句的FROM子句,我们刚刚使用过这个子句。

2.排序数据-Order by的使用

为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句句。ORDER BY子句取所有数据,据此对输出进行排序。请看下面的例子∶
代码如下(示例):

/*2.1 排序数据*/
/*2.1.1 单个列排序:依据价格对所有的行进行排序*/
select * from Products order by prod_price;/*2.1.2 多个列排序:先名字后价格进行排序*/
select * from Products order by prod_name,prod_price;  /*2.1.3 order by 还可以用相对位置排序 和上个查询结果一致*/
select * from Products order by 3,4;
/*2.2 指定排序方向*/
select * from Products order by prod_price; /* 默认是升序 */
select * from Products order by prod_price desc;  /* prod_price 关键字 降序 */
select * from Products order by prod_price desc,prod_name;  /* 指定prod_price降序 prod_name升序 */

总结

今天简单的学习筛选和排序数据,介绍了sql的一些必备基础知识,另外额外介绍了oracle的一些基础的数据类型和select子句的使用顺序,感兴趣的话可以再深入了解。其实sql很简单都是结构化的东西,记住公式就能用,简便高效的获取数据库里的数据,这也没有违背sql的初衷,ヾ(◍°∇°◍)ノ゙!

SQL的基础学习:一、检索和排序数据相关推荐

  1. SQL零基础学习笔记(一)

    真的不知道我写了这么多不同的的学习笔记又没用..开始SQL零基础学习笔记 百度百科:SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取 ...

  2. Oracle PL/SQL语句基础学习笔记(上)

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...

  3. Mendix敏捷开发零基础学习《三》-高级 (数据删除保护机制、数据关联删除、Security安全、调用外部接口、调用JAVA代码)

    目录 Mendix敏捷开发零基础学习<三> 一. 数据保护机制(Prevention of Delete) 1.业务需求 2.业务分析 3.项目实现 二.Mendix权限(Security ...

  4. SQL Server基础学习——用代码创建数据库和表

    1.连接成功后出现下述页面,那么我们学习第一步先建个数据库和表 2.建立之前要了解基础SQL语言 SQL语言是集DDL.DML.DCL 于一体的数据库语言. 1)DDL语句引导词:Create(建立) ...

  5. SQL的基础学习:二、数据的过滤

    数据的过滤 过滤数据 1.普通过滤 1.使用where子句 2.where子句操作符 2.高级过滤 组合WHERE 子句(AND.OR.IN.NOT) 3.用通配符进行过滤-LIKE的使用 总结 过滤 ...

  6. sql语句基础学习(不涉及多表查询)

    初级学习资源 http://www.dofactory.com/sql/tutorial what is database? a database is a place to store data; ...

  7. Oracle PL/SQL语句基础学习笔记(下)

    游标 游标: 游标(cursor)可以被看作指向结果集(a set of rows)中一行的指针(pointer).在oracle数据库中可以使用显示或隐式两种游标. 1.隐式游标 在执行一个sql语 ...

  8. 黑马程序员之SQL server基础学习笔记(三)

    ---------------------- Windows Phone 7手机开发..Net培训.期待与您交流! ---------------------- (一)group by select ...

  9. oracle数据定义语句,oracle(sql)基础篇系列(3)——数据维护语句、数据定义语句、伪列...

    oracle(sql)基础篇系列(三)--数据维护语句.数据定义语句.伪列 DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 ...

最新文章

  1. java Web项目如何windows桌面运行?
  2. R语言广义加性模型GAMs:可视化每个变量的样条函数、样条函数与变量与目标变量之间的平滑曲线比较、并进行多变量的归一化比较、测试广义线性加性模型GAMs在测试集上的表现(防止过拟合)
  3. SAP连接外部ORACLE数据库
  4. Java内存图以及堆、栈、常量区、静态区、方法区的区别
  5. Android关于finish()与System.exit()都不能退出应用的原因
  6. 在图形中使用指定字体
  7. [转]cmd 设置环境cmd环境变量命令set 设置永久环境变量命令setx
  8. 【操作系统】互斥:软件解决方法
  9. 零售连锁专卖信息化解决方案简介之一
  10. Python __init__.py 作用详解
  11. 05. 从尾到头打印链表(C++版本)
  12. 使用ActivityGroup管理Activity
  13. 计算机辅助制造camppt,CADCAM课件计算机辅助制造 (2).ppt
  14. sklearn.utils.Bunch的属性
  15. defaultdic与dict对比
  16. JVM XMX与XMS参数
  17. 新手如何做跨境电商?这七个经验干货请收好!
  18. 学习笔记(15):R语言入门基础-增加行或列
  19. S5P4418:RTC芯片HYM8563驱动移植
  20. 【Clng与Cint】clng与cint的区别及防溢出函数

热门文章

  1. 爬取豆瓣电影top250的脚本
  2. css中为伪元素增加点击事件和hover
  3. VMware设置桥接上网
  4. NTC热敏电阻认识及功率型热敏电阻选型
  5. 高德纳和计算机程序设计艺术:人物访谈(1)
  6. 第二代电子计算机采用的物理器件是,物理器件采用晶体管的计算机被称为什么...
  7. 19/07/11 共模电感选择及应用EMI滤波器参数EFT共模干扰原因
  8. 一个非常简单粗暴又理论上不会重复的随机数算法
  9. TFT-LCD 和 LCD 有什么区别,TFTLCD屏和普通LCD屏幕哪个更好
  10. MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值