文档章节

SQL中的数据查询语句汇总

五大三粗
 五大三粗
发布于 2015/02/27 15:23
字数 526
阅读 58
收藏 0

where条件表达式

--统计函数

 

Select count(1) from student; 

--like模糊查询

--统计班上姓张的人数

 

select count(*) from student where realName like '%'; 

--统计班上张姓两个字的人数

 

select count(*) from student where realName like '_'; 

--统计班上杭州籍的学生人数

 

select count(*) from student where home like '%杭州%'; 

--查询班上每位学生的年龄

 

select realName,year(now())-year(birthday) as age from student; 

--查询90年出生的学生

 

select realName from student where year(birthday)>='1990'; 

--查询1987-1990年出生的学生

 

select realName from student where year(birthday)<='1990' and year(birthday)>=’1987’; 

select * from student where year(birthday) between '1987' and '1990'; 

--查询班上男女生人数

 

select sex,count(*) from student group by sex; 

--in子句查询班上BO型血的学生

 

select realName,blood from student where blood in('B','O');    

 

子查询

子查询也可称之为嵌套查询,有些时候,一次查询不能解决问题,需要多次查询。

 

按子查询返回的记录行数区分,可分为单行子查询和多行子查询;

 

select * from emp where sal>(       select sal from emp where ename='ALLEN‘ or ename =‘KING’)  

上例是找出比allen工资高的所有员工

 

A.子查询一般先于主语句的运行

B.必须有( ),表示一个整体

C.习惯上把子查询放在条件的右边

 

多行子查询:some,any,all

 

连接语句(应用于多表查询)

包括:内联,外联(左外连和右外联)

 

内联(inner join):把两张表相匹配的行查询出来。

--查询每个学生的各科成绩,显示“姓名”“课程名”“分数”三列

 

select a.realname,c.courseName,b.score from stu_student as a inner join stu_score as b on a.sid=b.sid inner join stu_course c on b.cid=c.cid 

还有一种方法,不采用inner join:

 

select a.realname,c.courseName,b.score from student a,score b,course c where a.sid=b.sid and c.cid=b.cid 

 

外联分左外联和右外联:

Left outer join:查询两边表的匹配记录,且将左表的不匹配记录也查询出来。

Right outer join:等上,将右表不匹配记录也查询出来。

 

 

select a.realname,b.score from stu_student as a left outer join stu_score as b on a.sid=b.sid  

© 著作权归作者所有

共有 人打赏支持
五大三粗
粉丝 160
博文 2264
码字总数 4712446
作品 0
广州
程序员
私信 提问
SQL Server Transact-SQL高级查询

高级查询在数据库中用得是最频繁的,也是应用最广泛的。 Ø 基本常用查询 --selectselect * from student; --all 查询所有select all sex from student; --distinct 过滤重复select distinct...

ibm_hoojo
2011/07/15
0
0
SQL Server T-SQL高级查询

高级查询在数据库中用得是最频繁的,也是应用最广泛的。 Ø 基本常用查询 --select select from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select distinc...

种地瓜
2016/01/06
40
0
报表性能优化方案之报表取数

取数原理 设计器拼出最终的SQL,将SQL语句传给数据库,数据库执行,将数据返回给设计器。 由于计算过程首先要通过SQL语句从数据库中取数据,我们可以通过控制数据量的大小和对数据的提前预处...

九月你好123
2015/09/21
49
0
实战:上亿数据如何秒查?

最近在忙着优化集团公司的一个报表。优化完成后,报表查询速度有从半小时以上(甚至查不出)到秒查的质变。从修改SQL查询语句逻辑到决定创建存储过程实现,花了我3天多的时间,在此总结一下,希...

oschina
2016/07/01
18.7K
33
MySQL优化:使用慢查询日志定位效率较低的SQL语句

MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看...

BearCatYN
2015/01/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深度学习中的注意力机制

最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。 本文以机器...

火力全開
2分钟前
0
0
去除文件中

最近生成的文件中出现了<feff>乱码,而且单个文件中出现不止一次,在vim中打该文件显示<feff>,而在idea中则显示一个“-”,对数据处理造成了极大的困扰,通过使用其它编辑器打开发现,Windo...

休辞醉倒
4分钟前
0
0
想搞懂大数据就看这篇文章就够了!

互联网时代的到来,各种专业词汇术语充斥着我们的大脑,大数据,人工智能更是当下时代的热点潮流,很多传统企业都徘徊穿梭于这个潮流当中,传统广告的褪去,移动互联网时代的大数据精准整合营...

董黎明
6分钟前
1
0
go module 初体验

尽管官方的go module比较好用,但由于很多库下载不了,所以需要用到以下配置 export PATH=/mnt/d/download/go/bin/:$PATH export GOPATH=/home/fish/dipamkara/ #export GOPATH=/mnt/d/work...

LoveCupid
9分钟前
1
0
【小白学游戏常用算法】二、A*启发式搜索算法

  在上一篇博客中,我们一起学习了随机迷宫算法,在本篇博客中,我们将一起了解一下寻路算法中常用的A*算法。   通常情况下,迷宫寻路算法可以使用深度优先或者广度优先算法,但是由于效...

hejunbinlan
13分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部