文档章节

SQL中的数据查询语句汇总

五大三粗
 五大三粗
发布于 2015/02/27 15:23
字数 526
阅读 144
收藏 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  

© 著作权归作者所有

五大三粗
粉丝 164
博文 2293
码字总数 4767276
作品 0
广州
程序员
私信 提问
加载中

评论(0)

SQL 中having 和where的区别分析

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集 在select语句中可以使用groupby子句将行划分...

osc_vg6s3gcq
2018/07/17
4
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语句统计每天、每月、每年的数据

原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天、每月、每年的数据 1、每年 select year(ordertime) 年, sum(Total) 销售合计 from 订单表 group by year(ordertime)...

osc_e3nle85o
2018/08/29
2
0
报表性能优化方案之报表取数

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

九月你好123
2015/09/21
97
0
轻量级 ORM 框架 - Light.Data

是一个轻量级的基于的ORM框架, 通过对实体模型类的或者配置文件进行配置与数据表的对应关系. 使用核心类对数据表进行的操作. PM> Install-Package Light.Data 支持数据库 数据库 说明 SqlSer...

aquilahkj
2019/05/22
993
0

没有更多内容

加载失败,请刷新页面

加载更多

window下 mongodb开启用户名和密码 权限

在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证。 好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱。 坏处是,公网服务器搭建MongoDB...

东东笔记
42分钟前
9
0
数据倾斜

数据倾斜: 两种数据倾斜发生的现象: 80%情况下都发生挂了,只有极少20%情况下能把task执行完成 窄依赖:结构简单,如果发生数据丢失,方便查找丢失的数据 宽依赖:结构复杂,如何发生数据丢...

七宝1
今天
20
0
我的jdk源码(十一):ArrayList

一、概述 ArrayList类是AbstractList的子类,实现了具体的add(), set(), remove()等方法。它是一个可调整大小的数组可以用来存放各种形式的数据。 二、源码分析 (1) 类的声明,源码如下: ...

Java觉浅
昨天
24
0
vnc server,vnc server是什么,vnc工具推荐

nc server是一个用来共享linux服务器上资源给其他分布式用户的服务只要再一台linux系统的机器上安装vnc server,然后开启服务,其他机器就可以通过vncviewer访问这台机器上的共享资源,那么今...

兔子m
昨天
20
0
COLA的扩展性使用和源码研究

cola扩展点使用和设计初探 封装变化,可灵活应对程序的需求变化。 扩展点使用 步骤: 定义扩展点接口,类型可以是校验器,转换器,实体; 必须以ExtPt结尾,表示一个扩展点。 比如,我定义一个...

李福春carter
昨天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部