文档章节

数据库笔记6:检索,排序检索,过滤数据

风雨萧条
 风雨萧条
发布于 2016/08/04 10:10
字数 1154
阅读 5
收藏 0

insert into products(prod_id,prod_name,pro_price)values('avno1','.5 ton anvil',5.99);
insert into products(prod_id,prod_name,pro_price)values('avno2','1 ton anvil',9.99);
insert into products(prod_id,prod_name,pro_price)values('avno3','2 ton anvil',14.99);
insert into products(prod_id,prod_name,pro_price)values('ol1','oil can',8.99);
insert into products(prod_id,prod_name,pro_price)values('fu1','fuses',3.42);
insert into products(prod_id,prod_name,pro_price)values('slite','sling',4.49);
insert into products(prod_id,prod_name,pro_price)values('tnt1','tnt (1 stick)',2.50);
insert into products(prod_id,prod_name,pro_price)values('tnt2','tnt (5 stick)',10.00);
insert into products(prod_id,prod_name,pro_price)values('fb','bird seed',10.00);
insert into products(prod_id,prod_name,pro_price)values('fc','carrots',2.50);
insert into products(prod_id,prod_name,pro_price)values('safe','safe',50.00);
insert into products(prod_id,prod_name,pro_price)values('dtntr','detonator',13.00);
insert into products(prod_id,prod_name,pro_price)values('jp1000','jetpack 1000',35.00);
insert into products(prod_id,prod_name,pro_price)values('jp2000','jetpack 2000',55.00);




-- 创建products表
create table products
(
 prod_id char(40),
 prod_name char(40) not null,
 pro_price int not null,
 primary key(prod_id)
)engine = innodb;

-- 检索单个列
select prod_name from products;
-- 检索多个列
select prod_id,prod_name,prod_price from products;
-- 检索所有列
select * from products;
-- 返回所有指定的行
select ven_id from ven;
-- 返回行中不同的值
select     distinct vend_id from ven;
-- 返回开始到第五行
select prod_name from products limit 5;
-- 返回从第五行开始的五行
select prod_name from products limit 5,5;
-- 从第3行开始取4行
select prod_name from products limit 4 offset 3;
-- 假设products表在ven表里面
select products.prod_name from ven.products;
-- 升序
select prod_name,pro_price,prod_id from products order by prod_name,pro_price;
-- 降序
select prod_name,pro_price,prod_id from products order by pro_price desc;
-- desc之前的降序之后的升序
select prod_name,pro_price,prod_id from products order by pro_price desc,prod_name;
-- 检索降序并输出一行
select pro_price,prod_id from products order by pro_price desc limit 1;
-- 检索两个列并判断prod_price为3的行
select prod_name from products where prod_price = 3;
-- 检索两个列并判断prod_name为fuses的行,不区分字母大小写
select prod_name,pro_price from products where prod_name ='Fuses';
-- 检索两个列并判断prod_price小于10的行
select prod_name,pro_price from products where pro_price < 10;
-- 检索两个列并判断prod_price小于等于10的行
select prod_name,pro_price from products where pro_price <= 10;
-- 检索三列并prod_id判断不等于jp1000的行
select  prod_id,prod_name,pro_price from products where prod_id <> 'jp1000';
-- 与上面相同
select  prod_id,prod_name,pro_price from products where prod_id != 'jp1000';
-- 检索pro_price 5到10之间的所有产品
select  prod_name,pro_price from products where pro_price between 5 and 10;
-- 检索pro_price为空的所有产品
select  prod_id,prod_name,pro_price from products where pro_price is null;
-- 创建customers表
create table customers
(
 cust_id int,
 cust_email char(50) null,
 primary key(cust_id)
)engine = innodb;

-- 向customers表cust_id列插入数据
insert into customers(cust_id)values(1002);
-- 向customers表cust_id列插入数据
insert into customers(cust_id)values(1003);
-- 检索cust_email为空的所有产品
select  cust_id from customers where cust_email is null;

create table ven
(
 ven_id int auto_increment,
 primary key(ven_id)
)engine = innodb;
-- 添加vend_id列
alter table ven add vend_id int;
insert into ven(vend_id)values(1001);
insert into ven(vend_id)values(1001);
insert into ven(vend_id)values(1001);
insert into ven(vend_id)values(1002);
insert into ven(vend_id)values(1002);
insert into ven(vend_id)values(1003);
insert into ven(vend_id)values(1003);
insert into ven(vend_id)values(1003);
insert into ven(vend_id)values(1003);
insert into ven(vend_id)values(1003);
insert into ven(vend_id)values(1003);
insert into ven(vend_id)values(1003);
insert into ven(vend_id)values(1005);
insert into ven(vend_id)values(1005);


深入理解:

select * from student;

------------------------------------------
select
 t.sid+1 'tsid加了1',
 t.sid+5,
 t.score+100,
 t.sid+t.score as 'sid_score',
 t.*,
 5*8 '五'

 from student t;

------------------------------------------

select

 t.sid,

 t.sname,

-- 设置别名

 from student t;

------------------------------------------

select

 t.sid,

 t.sname,

-- 常量列

 5,

from student t;

------------------------------------------

select 

-- sid列数据加一,并创建一个t.sid+1列的数据

 t.sid +1,

 t.sname,

 t*

 from student t;

------------------------------------------

select

-- 两个整型数据相加,得出t.score+t.ccid列名的相加数据

 t.score+t.ccid

 from student t;

------------------------------------------

select

-- 'ni'列名

 t.score 'ni',

-- 'why'列名

 t.ccid 'why',

-- 'you'列名

 t.score+t.ccid 'you'

 from student t;

------------------------------------------

select

-- 整型和字符类型数据相加,得出t.score+t.sname列名的t.score数据(字符类型和整型数据相加,结果也是一样,以整型为主)

 t.score+t.sname

 from student t;

------------------------------------------

select

-- 改为'我'列名

 t.score '我'

 from student t;

------------------------------------------

select

-- '加'列名

 t.score '加',

-- ‘王’列名

 5 ‘王’

 from student t;

------------------------------------------

select

-- '加'列名

 t.score '加',

 5

 from student t

-- 常数列名不能相加(还是‘加’列名数据,5列名数据)

 where t.score +5;

 

------------------------------------------

select s.score+5 'q',s.score+s.ccid,5 '我' from student s;

------------------------------------------

select 

-- '加'列名

 t.ccid '加',

-- 常数列名

 5 ,

-- t.ccid+5列名相加的数据
 t.ccid + 5
from student t;

------------------------------------------

--

select * from student t where t.score>70 order by t.score desc limit 5;
------------------------------------------
select s.*,1 'a',2 'b',3 'c' from student s  
 where s.score+1=s.sid+87 and s.score between 60 and 95
  order by sid desc limit 1;
------------------------------------------

select * from student t
 where t.score not in (60,90,85);

------------------------------------------
select * from student
 where sname is not null;

------------------------------------------

select * from student;

------------------------------------------

create table student

(
 id int not null auto_increment,
 primary key(id)
)engine = innodb;
------------------------------------------
alter table student add sname char(40);
alter table student add score int;
alter table student add ccid int;

------------------------------------------

insert into student(sname,score,ccid) values('wpq2',93,1);

insert into student(sname,score,ccid) values('wpq3',45,1);
insert into student(sname,score,ccid) values('QQ5',43,1);
insert into student(sname,score,ccid) values('wp9',60,1);
insert into student(sname,score,ccid) values('w',99,1);
insert into student(sname,score,ccid) values('w123',91,1);






本文出自 “烟雨平生” 博客,请务必保留此出处http://1095221645.blog.51cto.com/6507311/1433344

本文转载自:http://1095221645.blog.51cto.com/6507311/1433344

风雨萧条
粉丝 13
博文 83
码字总数 0
作品 0
东城
前端工程师
私信 提问
SQL学习笔记(一)

SQL学习笔记(一) 一、检索数据 如何使用SELECT语句检索一个或多个数据列。 1.1 检索单个列 SELECT prod_name FROM Productions; 注意:检索出来的数据是没有排序的 1.2 检索多个列 SELECT...

PowerMichael
2017/10/19
0
0
MySQL学习笔记之三排序和过滤

在数据库的使用中排序和过滤也是经常的操作 排序检索数据,关键字order 1.按照某个列名排序 2.按照多个列名排序 3.指定排序方向,默认为字母(a-z),升序 4.和limit配合使用,限制检索数据数量 ...

凌宇之蓝
01/20
10
0
《MySQL必知必会》读书笔记(一) 1~7章

1、模式 一种理解是关于数据库和表的布局及特性的信息; 另一种理解是数据库的同义词。 2、关于主键 表中任何列都可以作为主键,只要它满足以下条件: 任意两行都不具有相同的主键值; 每个行...

一万
2016/02/05
195
0
数据库笔记8:SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询

第十章 创建计算字段 计算字段 存储在表中的数据一般不是应用程序所需要的格式。我们需要直接从数据库中检索出转换、计算或格式化的数据。而不只是检索出数据,然后再到应用程序或报告程序中...

技术小大人
2017/11/23
0
0
《MySQL必知必会》笔记1

2016/2/21 数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 数据库管理系统(DBMS):用于访问数据库。 表:某种特定类型数据的结构化清单。相同的数据库中表的名字是唯一的 模...

fxdhdu
2016/03/01
19
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
5
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
9
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
8
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
今天
7
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
今天
10
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部