数据库————Select 查询

--创建mydb数据库create database mydb
go
--使用数据库use mydb
go
--水果表
create table Fruit
(
    Ids varchar(50) primary key,
    [Name] varchar(50) not null,
    Price decimal(8,2),
    Source varchar(50),
    Numbers int,    --库存数量
    [Image] varchar(50)
)
go
--向表中添加数据insert into fruit values(‘k001‘,‘苹果‘,2.4,‘烟台‘,100,‘image/0.gif‘)
insert into fruit values(‘k002‘,‘菠萝‘,1.4,‘广东‘,100,‘image/1.gif‘)
insert into fruit values(‘k003‘,‘桔子‘,2.4,‘福州‘,100,‘image/2.gif‘)
insert into fruit values(‘k004‘,‘葡萄‘,2.4,‘新缰‘,100,‘image/3.gif‘)
insert into fruit values(‘k005‘,‘樱桃‘,2.4,‘青岛‘,100,‘image/4.gif‘)
insert into fruit values(‘k006‘,‘桃子‘,2.4,‘花果山‘,100,‘image/5.gif‘)
insert into fruit values(‘k007‘,‘香蕉‘,2.4,‘济南‘,100,‘image/6.gif‘)

--用户表
create table Login
(
    UserName varchar(50) primary key,    --用户名
    [Name] varchar(50),    --真实姓名
    Password varchar(50),    --密码
    Account decimal(18,2)    --账户余额
)
go
insert into login values(‘zhangsan‘,‘张三‘,‘666666‘,50)
insert into login values(‘lisi‘,‘李四‘,‘666666‘,50)
insert into login values(‘wangwu‘,‘王五‘,‘666666‘,50)

--订单表
create table Orders
(
    Code varchar(50) primary key,    --以“用户名yyyyMMddhhmmssms”的形式作主键
    UserName varchar(50) references Login(Username),    --订购人员代号作外键
    OrderTime datetime,    --订购时间
)
go

--订单内容表
create table OrderDetails
(
    Ids int identity primary key,
    OrderCode varchar(50) references Orders(Code),--订单号
    FruitCode varchar(50) references Fruit(Ids),--水果代号
    [Count] int ,    --水果的个数
)
go

select * from fruit
select * from login
select * from orders
select * from orderdetails

--查询
select * from Fruit --查所有
select Name,Source from Fruit --查特定列

select Ids ‘代号‘,Name ‘名称‘,Price ‘价格‘,Source ‘产地‘ from Fruit -- 修改列名

select * from Fruit where Ids=‘K006‘
select * from Fruit where Price=2.4 and Source=‘烟台‘ -- 查指定行按条件查

select * from Fruit where Price between 2.0 and 4.0 --查指定行按范围查

select * from Fruit where Numbers in (90,80,70)--查指定行,离散查

select distinct Numbers from Fruit --去重查询

select * from News

select * from News where title like ‘%户口‘ --模糊查询,查以户口结尾的
select * from News where title like ‘大熊猫%‘ --模糊查询,查以大熊猫开头的
select * from News where title like ‘%大熊猫%‘ --模糊查询,查以包含大熊猫的
select * from News where title like ‘%外币货_‘--模糊查询,查外币货之后只有一个字符的

select * from Fruit order by Numbers asc --按照Numbers列升序排,如果不加asc默认以升序排
select * from Fruit order by Numbers desc --按照Numbers列降序排
select * from Fruit order by Numbers,Price --先按照Numbers排,然后再按照Price排

select COUNT(*) from Fruit --返回Fruit表里面有多少条数据
select AVG(Numbers)from Fruit --返回某一列的平均值
select SUM(Numbers) from Fruit --返回某一列的所有数据和
select MAX(Numbers) from Fruit --返回某一列中的最大值
select MIN(Numbers) from Fruit --返回某一列中的最小值

select *,(Price*0.8) as ‘折后价格‘ from Fruit --加一列数据库中没有的列,这里是加了8折后的价格列

select Numbers, COUNT(*) from Fruit group by Numbers --根据某一列分组,求出该组内成员的个数
select Numbers, COUNT(*) from Fruit group by Numbers having COUNT(*)>1--根据某一列分组,求出该组内成员的个数,返回成员个数大于1的
%----代表任意多个字符
‘%户口’---以户口结尾,户口前有多个字符
‘户口%’----以户口开头,户口后面有多个字符
‘%户口%‘----包含户口,户口前后有多个字符

‘%外币货_’----外币货后面只有一个字符,之前有多个字符

like----模糊查询
distinct---去除重复
时间: 2024-11-02 17:00:16

数据库————Select 查询的相关文章

数据库select查询语句进阶

昨日回顾: 一. 数据库的介绍 管理数据的软件 二. 数据库的 分类: a.关系型数据库 有约束 b.非关系型数据库 没有约束 三. MySQl 的安装: a. exe msi文件 点击下一步下一步 b. 压缩包 bin mysqld : 启动mysql服务的 mysql : 连接mysql 环境变量 四. 数据库(文件夹) 数据表 (文件) 数据行(文件行) 五. 数据库: 增: create database 数据库名; 删: drop database 数据库名; 查: show data

lambda表达式封装对数据库的查询

前言: 1.为什么要封装lambda表达式数据库查询,原因有一下几点: 1.1.在以往的开发中进行数据库表查询时,其实所需要的字段就是其中几个,但是在开发中,开发者往往习惯select * 进行查询,当数据多和用户量多时,查询的效率会降低. 1.2.在写查询where条件的时候,总是用string.format去拼接字符串,开发效率低. 1.3.代码不够优雅,代码中嵌套和多sql语句,如果是表字段发生改变时编译器检查不出来,代码出错的概率大. 1.4.本着 write less  do more

数据库结构查询

--1:获取当前数据库中的所有用户表 select Name from sysobjects where xtype='u' and status>=0 --2:获取某一个表的所有字段 select name from syscolumns where id=object_id(N'表名') --3:查看与某一个表相关的视图.存储过程.函数 select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like

Oracle数据库,查询语句、内置函数

一.数据库的查询语句: 1.查询整个表: select * from 表名 例: 2.通过条件查询某一行数据: select * from 表名 where 字段名 例: 3.某一列数据去重查询: select distinct 字段名 from 表名 例: 4.查询的结果按某个字段升序或倒序排列:  select * from 表名 order by 字段名;                  在字段名的后面加desc为降序顺序排列 例: 5.查询某一列在某个范围内的数据: select *

hive select查询语句底层实现的某些细微差别

最近,由于工作的需要,学习了基于Hadoop的一个数据仓库工具hive.遇到并解决了一些问题,但是有个select语句的细微差别值得注意. 首先来看两条hql语句: SELECT * FROM MY_TABLE where dt=2014031205 limit 10     SELECT ID,NAME,GENDER,USERNAME,PASSWORD,ISVALID FROM MY_TABLE where dt=2014031205 limit 10 理论上,上述两条hql查询语句的查询结果

数据库分页查询

分页语句: Oracle: --这种分页查询方式不仅仅是针对单表的简单查询,对于最内层查询是复杂的 --多表联合查询或最内层查询包含排序的情况一样有效 SELECT * FROM ( SELECT ROWNUM RN , T.*  FROM (SELECT * FROM FTNEMR.PATIENT_VISIT) T WHERE ROWNUM <= 40 ) WHERE RN >= 21 ORDER BY PATIENT_ID; --这种方式比上面的方式要性能要低很多 SELECT * FRO

浅谈数据库联合查询

http://www.cnblogs.com/Candies/p/4142576.html 本文介绍以下内容: LFET JOIN.RIGHT JOIN.INNER JOIN.UNION.UNION ALL.FULL JOIN等! 测试数据(以下数据未经考证,非真实有效数据,仅作为本次学习的测试数据!) 全国大学排名TOP20 No. 校名 地区 校长 类型 1 北京大学 北京 周其凤 综合 2 清华大学 北京 顾秉林 理工 3 浙江大学 浙江 杨卫 综合 4 复旦大学 上海 杨玉良 综合 5

eImage(仅两行代码实现输出从数据库中查询到的二进制字段)标签

功能: 专门用于向浏览器输出从数据库中查询到的二进制字段.支持通用的几十种文件类型 别名为edoc 使用方法: <chtml><eimage id=书包名type=类型>key</eimage></chtml>或 <chtml><edocid==书包名 type=类型>key</edoc></chtml> ·        id:书包名.ESql标签返回的书包名称 ·        type:类型.输出文件类型

为什么忘记commit也会造成select查询的性能问题

今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器ORACLE数据库执行的一条简单SQL语句非常缓慢,他写的一个SQL没有返回任何数据,但是耗费了几分钟的时间.让我检查分析一下原因,分析解决过后,发现事情的真相有点让人哭笑不得,但是也是非常有意思的.我们先简单构造一下类似的案例,当然只是简单模拟. 假设一个同事A,创建了一个表并初始化了数据(实际环境数据量较大,有1G多的数据),但是他忘记提交了.我们简单模拟如下: SQL> create table test_uncommit   2