当前位置:文档之家› SQL查询语句.ppt

SQL查询语句.ppt

例如:1.查询drupal_group_user_group,以用户id为 分组的基本信息显示
select * from drupal_group_user_group group by userid
一.单表查询(group by语句)
2.查询用户id,圈子状态,用户所用圈子数, 并按用户id分组
一.单表查询(like语句)
5.查询表中某列包含某个字符*的信息 Select * from 表名 where 列名 like ‘%*%‘ 例如:查询表drupal_users用户昵称包含t的基
本信息 SELECT * from drupal_users where name
like ‘%t%‘
groupid=10004
一.单表查询(or语句)
3.查询某表中列名同时符合多个条件的信息 (or语句)
Select * from 表名 Where 条件1 or 条件 2…
例如:查询drupal_group_stat表中,圈子总人 数为5或8的基本信息显示
SELECT * from drupal_group_stat where groupusernum=5 or groupusernum=8
select * from drupal_group_user_group,drupal_users where drupal_group_user_erid=drupal_users.uid
或:select * from drupal_group_user_group join drupal_users on userid=uid
句中,having和Where都是查询条件,但是where优 先级比having高,所用having是建立在where查询条 件上的查询;2.having后面的括号要不要都可以
一.单表查询(sum函数)
13. 查询某表中某列总和数 Select sum(列名) from 表名 注意:1.sum所跟条件的列的属性必须输数值型的。2.函数后必
select userid,roleid,count(*) from drupal_group_user_group
group by userid 说明:分组后,按userid显示的组别只显示一
个记录,并不是所有的记录
一.单表查询(order by语句)
11.查询某表中信息,查询结果总数倒序排列 Select 列名1,列名2 ,count(*) from 表名 Group by 列名1 Order by count(*) desc 注意:1.order by语句必须跟在group by语句后面使用;2. ASC
号内的列值属性必须为数值型
一.单表查询(min函数)
16.查询某个表中,某列的最小值 Select min(列名) from 表名 例如:查询最少的圈子人数信息 select min(groupusernum) from
drupal_group_stat 注意:函数后面必须加括号,且函数后面括号
并对查询结果列名重命名 select count(*) as 总记录数 from
drupal_group_user_group
一.单表查询(group语句)
10.查看某表中以某列分组后的信息 Select * from 表名 Group by 列名
注意:group by 后面的列名信息显示必须包含在select 查询结果中
一.单表查询(distinct 语句)
15.1查询表中圈子状态的信息 select roleid as 圈子状态 from
drupal_group_user_gro) select distinct roleid as 圈子状态 from
二.多表查询(2个以上的表连接)
1.查找用户id为57555创建已删除的圈子id,圈子标题信息,其 中groupstatus标示圈子状态,roleid标示用户对圈子的权限
select drupal_group_group .groupid ,grouptitle from drupal_group_user_group,drupal_users ,drupal_group_group
笛卡尔积出现的原因多种多样,通常是由于连 接条件缺失造成的.这个很少用
例如:查询测试机表和表中的笛卡尔积记录 select * from
drupal_group_user_group,drupal_users
二.多表查询(多表连接之等值连接)
等值连接又称简单连接或内连接。连接条件表示为:表名1.列名 1=表名2.列名2或 表1 [INNER] JOIN 表2 ON 条件表达式;
内的列值属性必须为数值型
二.多表查询(简介)
连接查询:若一个查询同时涉及两个或两个以 上的表,则称为链接查询
连接查询种类 --笛卡尔积 --等值连接(内连接) --外连接 --自然连接 --嵌套查询
二.多表查询(笛卡尔积)
笛卡尔积是把表中所有的记录作乘积操作,生 成大量的结果,而通常结果中可用的值邮箱。
示 SELECT * from drupal_group_stat
一.单表查询
2.查询某张表,符合条件的信息显示 Select * from 表名 where 条件 例如:查询drupal_group_stat表中圈子id为
10004的圈子信息显示 Select * from drupal_group_stat where
表示升序,DESC表示降序.默认是升序,3.分组的目的是进一步细 化聚合函数的作用对象
例如:按用户id分组查看该用户所有的圈子总数,并按总数倒序 select userid,roleid,count(*) from drupal_group_user_group group by userid order by count(*) desc
一.单表查询(and 语句)
4.查询某表中行名同时符合多个条件的信息 (and语句)
Select * from 表名 Where 条件1 and 条件 2…
例如:查询drupal_group_stat表中,圈子总人 数为5,且圈子回复数为10的圈子基本信息
SELECT * from drupal_group_stat where groupusernum=5 and groupreplynum=10
where drupal_users .uid=drupal_group_user_erid and
drupal_group_group.groupid=drupal_group_user_group.groupi d and drupal_users .uid=57555 and drupal_group_user_group.roleid=0 and groupstatus=2
14. 查询某表中某列平均数 Select avg(列名) from 表名 注意:1.avg所跟条件的列的属性必须是数值型的。2.
函数后必须跟括号,列名包含在括号中,3.不管查询 的列属性是否为实数,返回的平均数是实数
例如:查看所有圈子回复数的平均数 select avg(groupreplynum ) from drupal_group_stat
示任意单个字符
一.单表查询(count 函数)
9.查询某表中的总记录数 select count(*) from 表名 9.1查询某表中的总记录数,并把总记录数重命名为
‘总记录数’(as语句) select count(*) as 总记录数 from 表名 例如:查看表drupal_group_user_group中总记录数,
二.多表查询(多表连接之等值连接)
注意: 1.多表连接中,记录筛选语句同样写在where语句中, 2. 查询结果列名不能有二义性,例如: 表drupal_group_group的groupid和drupal_group_user_group的
groupid 列名都标示圈子id信息,在这两个表中,如果查询结果 中有groupid的显示,必须指明在那个表中的groupid select drupal_group_group.groupid from drupal_group_group,drupal_group_user_group where drupal_group_group.groupid=drupal_group_user_group.groupi d
二.多表查询(2个以上的表连接)
也可写为: select drupal_group_group .groupid ,grouptitle from
一.单表查询(having语句)
12.按用户id分组查看用户所删除的圈子总数,并按总 数倒序
select userid,roleid,count(*) as 总数 from drupal_group_user_group
group by userid HAVING(roleid=2) order by count(*) 注意:1.having条件必须包含在已查询结果selelect语
SQL 查询语言举例
----测试机数据(全部使 用的是mobilehub2数据 库数据)
内容简介
一.单表查询 二.多表查询 三.圈子v1.2举例查询
一.单表查询
1. 查询某张表的所有信息显示 Select * from 表名 例如:查询drupal_group_stat表的所有信息显
须跟括号
例如:查看单个圈子所有的回复数 select groupid,sum(groupreplynum ) from drupal_group_stat group by groupid
说明:查询结果非只有一个函数(sum等)的时候,必须使用 group by语句分组
一.单表查询(avg函数)
注意:1.当属性名在连接的两个表中是唯一的,则可省略表名; 2.连条件中各属性的值应该是可比的,且字段名可以相同,也不 可不同;3.jion on=inner jion on
相关主题