SQL查询语句.ppt
《SQL查询语句.ppt》由会员分享,可在线阅读,更多相关《SQL查询语句.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL查询语言举例查询语言举例-测试机数据(全部使用的是mobilehub2数据库数据)内容简介内容简介l一.单表查询l二.多表查询l三.圈子v1.2举例查询一一.单表查询单表查询l1.查询某张表的所有信息显示lSelect*from表名表名l例如:查询drupal_group_stat表的所有信息显示lSELECT*fromdrupal_group_stat一一.单表查询单表查询l2.查询某张表,符合条件的信息显示lSelect*from表名表名where条件条件l例如:查询drupal_group_stat表中圈子id为10004的圈子信息显示lSelect*fromdrupal_grou
2、p_statwheregroupid=10004一一.单表查询(单表查询(or语句)语句)l3.查询某表中列名列名同时符合多个条件的信息(or语句)lSelect*from表名表名Where条件条件1or条件条件2l例如:查询drupal_group_stat表中,圈子总人数为5或8的基本信息显示lSELECT*fromdrupal_group_statwheregroupusernum=5orgroupusernum=8一一.单表查询(单表查询(and语句)语句)l4.查询某表中行名行名同时符合多个条件的信息(and语句)lSelect*from表名表名Where条件条件1and条件条件2l
3、例如:查询drupal_group_stat表中,圈子总人数为5,且圈子回复数为10的圈子基本信息lSELECT*fromdrupal_group_statwheregroupusernum=5andgroupreplynum=10一一.单表查询(单表查询(like语句)语句)l5.查询表中某列包含某个字符*的信息lSelect*from表名表名where列名列名like%*%l例如:查询表drupal_users用户昵称包含t的基本信息lSELECT*fromdrupal_userswherenamelike%t%一一.单表查询单表查询l6.查询表中某列以某个字符*打头的基本信息lSelec
4、t*from表名表名where列名列名like*%l例如:查询表drupal_users用户昵称以t开头的基本信息lSELECT*fromdrupal_userswherenameliket%一一.单表查询(单表查询(like语句)语句)l7.查询表中某列以某个字符*结尾的基本信息lSelect*from表名表名where列名列名like%*l例如:查询表drupal_users用户昵称以t结尾的基本信息lSELECT*fromdrupal_userswherenamelike%t一一.单表查询(单表查询(like语句)语句)l8.查询表中某列以某个字符*结尾且只有2个字符的基本信息lSele
5、ct*from表名表名where列名列名like_*l例如:查询表drupal_users用户昵称以t结尾,且只有2个字符的基本信息lSELECT*fromdrupal_userswherenamelike_tl综上可知:匹配串中:%表示任意长度的字符串;_表示任意单个字符一一.单表查询(单表查询(count函数)函数)l9.查询某表中的总记录数lselectcount(*)from表名表名l9.1查询某表中的总记录数,并把总记录数重命名为总记录数(as语句)lselectcount(*)as总记录数from表名l例如:查看表drupal_group_user_group中总记录数,并对查询结
6、果列名重命名lselectcount(*)as总记录数fromdrupal_group_user_group一一.单表查询(单表查询(group语句)语句)l10.查看某表中以某列分组后的信息lSelect*from表名表名lGroupby列名列名l注意:groupby后面的列名信息显示必须包含在select查询结果中l例如:1.查询drupal_group_user_group,以用户id为分组的基本信息显示lselect*fromdrupal_group_user_grouplgroupbyuserid一一.单表查询(单表查询(groupby语句)语句)l2.查询用户id,圈子状态,用户所
7、用圈子数,并按用户id分组lselectuserid,roleid,count(*)fromdrupal_group_user_grouplgroupbyuseridl说明:分组后,按userid显示的组别只显示一个记录,并不是所有的记录一一.单表查询(单表查询(orderby语句)语句)l11.查询某表中信息,查询结果总数倒序排列lSelect列名1,列名2,count(*)from表名lGroupby列名1lOrderbycount(*)descl注意:1.orderby语句必须跟在groupby语句后面使用;2.ASC表示升序,DESC表示降序.默认是升序,3.分组的目的是进一步细化聚合
8、函数的作用对象l例如:按用户id分组查看该用户所有的圈子总数,并按总数倒序lselectuserid,roleid,count(*)fromdrupal_group_user_grouplgroupbyuseridlorderbycount(*)desc一一.单表查询(单表查询(having语句)语句)l12.按用户id分组查看用户所删除的圈子总数,并按总数倒序lselectuserid,roleid,count(*)as总数fromdrupal_group_user_grouplgroupbyuseridHAVING(roleid=2)lorderbycount(*)l注意:1.having
9、条件必须包含在已查询结果selelect语句中,having和Where都是查询条件,但是where优先级比having高,所用having是建立在where查询条件上的查询;2.having后面的括号要不要都可以一一.单表查询(单表查询(sum函数)函数)l13.查询某表中某列总和数lSelectsum(列名)from表名l注意:1.sum所跟条件的列的属性必须输数值型的。2.函数后必须跟括号l例如:查看单个圈子所有的回复数lselectgroupid,sum(groupreplynum)fromdrupal_group_statlgroupbygroupidll说明:查询结果非只有一个函数
10、(sum等)的时候,必须使用groupby语句分组l一一.单表查询(单表查询(avg函数)函数)l14.查询某表中某列平均数lSelectavg(列名)from表名l注意:1.avg所跟条件的列的属性必须是数值型的。2.函数后必须跟括号,列名包含在括号中,3.不管查询的列属性是否为实数,返回的平均数是实数l例如:查看所有圈子回复数的平均数lselectavg(groupreplynum)fromdrupal_group_statl一一.单表查询(单表查询(distinct语句)语句)l15.1查询表中圈子状态的信息lselectroleidas圈子状态fromdrupal_group_user
11、_groupl15.2查询表中不同圈子状态的信息(去掉重复项的信息)selectdistinctroleidas圈子状态fromdrupal_group_user_group一一.单表查询(单表查询(max语句)语句)l16.查询某个表中,某列的最大值lSelectmax(列名)(列名)from表名表名l例如:查询最多的圈子人数例如:查询最多的圈子人数lselectmax(groupusernum)fromdrupal_group_statl注意:注意:1.函数后面必须加括号,且函数后面括函数后面必须加括号,且函数后面括号内的列值属性必须为数值型号内的列值属性必须为数值型一一.单表查询(单表查
12、询(min函数)函数)l16.查询某个表中,某列的最小值lSelectmin(列名)(列名)from表名表名l例如:查询最少的圈子人数信息例如:查询最少的圈子人数信息lselectmin(groupusernum)fromdrupal_group_statl注意:函数后面必须加括号,且函数后面括号注意:函数后面必须加括号,且函数后面括号内的列值属性必须为数值型内的列值属性必须为数值型二二.多表查询(简介)多表查询(简介)l连接查询:若一个查询同时涉及两个或两个以上的表,则称为链接查询l连接查询种类-笛卡尔积-等值连接(内连接)-外连接-自然连接-嵌套查询二二.多表查询(笛卡尔积)多表查询(笛卡
13、尔积)l笛卡尔积是把表中所有的记录作乘积操作,生成大量的结果,而通常结果中可用的值邮箱。笛卡尔积出现的原因多种多样,通常是由于连接条件缺失造成的.这个很少用l例如:查询测试机表和表中的笛卡尔积记录lselect*fromdrupal_group_user_group,drupal_users二二.多表查询(多表连接之等值连接)多表查询(多表连接之等值连接)l等值连接又称简单连接或内连接。连接条件表示为:表名表名1.列名列名1=表名表名2.列名列名2或或表表1INNERJOIN表表2ON条件表达式条件表达式;l注意:1.当属性名在连接的两个表中是唯一的,则可省略表名;2.连条件中各属性的值应该是
14、可比的,且字段名可以相同,也不可不同;3.jionon=innerjiononl例如:drupal_users中的uid和表drupal_group_user_group中的userid都是表示用户id的信息的,那么这2个表的等值连接语句如下:lselect*fromdrupal_group_user_group,drupal_userswheredrupal_group_user_group.userid=drupal_users.uidl或:select*fromdrupal_group_user_groupjoindrupal_usersonuserid=uid二二.多表查询(多表连接之
15、等值连接)多表查询(多表连接之等值连接)l注意:l1.多表连接中,记录筛选语句同样写在where语句中,l2.查询结果列名列名不能有二义性,例如:l表drupal_group_group的groupid和drupal_group_user_group的groupid列名都标示圈子id信息,在这两个表中,如果查询结果中有groupid的显示,必须指明在那个表中的groupidlselectdrupal_group_group.groupidfromdrupal_group_group,drupal_group_user_groupwheredrupal_group_group.groupid=d
16、rupal_group_user_group.groupid二二.多表查询(多表查询(2个以上的表连接)个以上的表连接)l1.查找用户查找用户id为为57555创建已删除的圈子创建已删除的圈子id,圈子标题信息,其,圈子标题信息,其中中groupstatus标示圈子状态,roleid标示用户对圈子的权限lselectdrupal_group_group.groupid,grouptitlefromdrupal_group_user_group,drupal_users,drupal_group_grouplwheredrupal_users.uid=drupal_group_user_grou
17、p.useridlanddrupal_group_group.groupid=drupal_group_user_group.groupidlanddrupal_users.uid=57555landdrupal_group_user_group.roleid=0andgroupstatus=2二二.多表查询(多表查询(2个以上的表连接)个以上的表连接)l也可写为:也可写为:lselectdrupal_group_group.groupid,grouptitlefromdrupal_group_user_groupjoindrupal_usersondrupal_users.uid=drupa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 查询 语句
限制150内