SQL的基础学习:一、检索和排序数据
检索和排序数据
- 前言
- 一、关于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的基础学习:一、检索和排序数据相关推荐
- SQL零基础学习笔记(一)
真的不知道我写了这么多不同的的学习笔记又没用..开始SQL零基础学习笔记 百度百科:SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取 ...
- Oracle PL/SQL语句基础学习笔记(上)
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...
- Mendix敏捷开发零基础学习《三》-高级 (数据删除保护机制、数据关联删除、Security安全、调用外部接口、调用JAVA代码)
目录 Mendix敏捷开发零基础学习<三> 一. 数据保护机制(Prevention of Delete) 1.业务需求 2.业务分析 3.项目实现 二.Mendix权限(Security ...
- SQL Server基础学习——用代码创建数据库和表
1.连接成功后出现下述页面,那么我们学习第一步先建个数据库和表 2.建立之前要了解基础SQL语言 SQL语言是集DDL.DML.DCL 于一体的数据库语言. 1)DDL语句引导词:Create(建立) ...
- SQL的基础学习:二、数据的过滤
数据的过滤 过滤数据 1.普通过滤 1.使用where子句 2.where子句操作符 2.高级过滤 组合WHERE 子句(AND.OR.IN.NOT) 3.用通配符进行过滤-LIKE的使用 总结 过滤 ...
- sql语句基础学习(不涉及多表查询)
初级学习资源 http://www.dofactory.com/sql/tutorial what is database? a database is a place to store data; ...
- Oracle PL/SQL语句基础学习笔记(下)
游标 游标: 游标(cursor)可以被看作指向结果集(a set of rows)中一行的指针(pointer).在oracle数据库中可以使用显示或隐式两种游标. 1.隐式游标 在执行一个sql语 ...
- 黑马程序员之SQL server基础学习笔记(三)
---------------------- Windows Phone 7手机开发..Net培训.期待与您交流! ---------------------- (一)group by select ...
- oracle数据定义语句,oracle(sql)基础篇系列(3)——数据维护语句、数据定义语句、伪列...
oracle(sql)基础篇系列(三)--数据维护语句.数据定义语句.伪列 DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 ...
最新文章
- java Web项目如何windows桌面运行?
- R语言广义加性模型GAMs:可视化每个变量的样条函数、样条函数与变量与目标变量之间的平滑曲线比较、并进行多变量的归一化比较、测试广义线性加性模型GAMs在测试集上的表现(防止过拟合)
- SAP连接外部ORACLE数据库
- Java内存图以及堆、栈、常量区、静态区、方法区的区别
- Android关于finish()与System.exit()都不能退出应用的原因
- 在图形中使用指定字体
- [转]cmd 设置环境cmd环境变量命令set 设置永久环境变量命令setx
- 【操作系统】互斥:软件解决方法
- 零售连锁专卖信息化解决方案简介之一
- Python __init__.py 作用详解
- 05. 从尾到头打印链表(C++版本)
- 使用ActivityGroup管理Activity
- 计算机辅助制造camppt,CADCAM课件计算机辅助制造 (2).ppt
- sklearn.utils.Bunch的属性
- defaultdic与dict对比
- JVM XMX与XMS参数
- 新手如何做跨境电商?这七个经验干货请收好!
- 学习笔记(15):R语言入门基础-增加行或列
- S5P4418:RTC芯片HYM8563驱动移植
- 【Clng与Cint】clng与cint的区别及防溢出函数
热门文章
- 爬取豆瓣电影top250的脚本
- css中为伪元素增加点击事件和hover
- VMware设置桥接上网
- NTC热敏电阻认识及功率型热敏电阻选型
- 高德纳和计算机程序设计艺术:人物访谈(1)
- 第二代电子计算机采用的物理器件是,物理器件采用晶体管的计算机被称为什么...
- 19/07/11 共模电感选择及应用EMI滤波器参数EFT共模干扰原因
- 一个非常简单粗暴又理论上不会重复的随机数算法
- TFT-LCD 和 LCD 有什么区别,TFTLCD屏和普通LCD屏幕哪个更好
- MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值