下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工程四查询网上商城系统数据L执行查询语句时,出现“1146 - TableXXdoesnt exist,错误。答:查询语句中,引用的表名在当前数据库在当前数据库中不存在。可以使用show tables语句查看当前数据库中所存在的表,确定是否输入了错误的表名。.执行查询语句时,出现 “1054 - Unknown columnXXinfield list,错误。答:查询语句中有未知的列名”次“。可以使用desc表名 查看当前数据表的表结 构,确定是否输入了不存在的列名。.执行查询语句时,出现1052 - Column XX in field list is ambiguous,错误。答:该错误是
2、指XX1列模棱两可,也就是说列“ XX”指代不明确.查询无法解析该 列来自哪张表。#例如:查询uid为1的用户的登录名及消费总金额,select u!ogin,sum(oamount)from users u join orders oon u.uid - o.uidwhere uid = 1;#这里的uid就指代不明确,需要修改为u.uid4. count(常量)、count(*)与 count例名)的区别?答:coum(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为 NULL的行。count(常量)包括了忽略所有列,用“常量”代表代码行,在统计结果的时候,不会忽 略列值为
3、NULL的行,这里的常量可以是数值、字符串等。count(列名)只包括列名那一列,在统计结果的时候,不统计列值为NULL的行。4.执行包含 GROUP BY子句的查询语句时,出现错误提示-1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column xx 库.xx 表.xx 字段which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sq
4、l_mode=only_full_group_by,答:该错误的翻译为:1055-SELECT列表的表达式#1不在GROUP BY子句中,并且 包含未聚合的列汉库兼学段,该列在功能上不依赖于GROUP BY子句中的列; 这与 sqLmode = only_full_group_by 不兼容。#例如:查询users表,统计各城市的用户人数select uciyt, uname, county) from usersgroup by ucity;上述代码中,uname字段未出现在group by子句后,也不是聚合函数列,就与 only_full_group_by 模式不兼容。主要原因分析:MySQ
5、L5.7.5+以后的版本默认启用了 on/y_ full_group_ by SQL模式。该 模式规定在使用GROUP By子句时,SELECT语句可显示的列只能是group by子句后的列 或使用了聚合函数的计算列,这也是SQL标准中规定的内容。假设用户在使用group by中 不进行该项检查可以将only_full_group_by模式关闭。5.执行查询语句时,出现1242 - Subquery returns more than 1 row答:错误提示为子查询返回了多行数据。出现该错误需要分析子查询参与的运算是什 么。当子查询参与的运行是比拟运算时,只能返回单值数据。假设要返回多行数据,
6、可选择 使用关键词in,或者在比拟运算中添加any或all关键词的。.在网上商城系统中,假设想对商品类别进行多级分类,应该如何实现。答;实现商品类别的多级分类要具体情况具体分析。一般来说有两种典型应用。应用1 :假设分类的层次固定,比方最多三级分类,那么可以针对每一级分类建立一张数 据表,并建立各层级表间的关系。各层级表的定义可以如下。一级类别表(类别id,类别名称)二级类别表(类别id,类别名称,一级类别id)三级类别表(类别id,类别名称,二级类别id)但这种方法最大的问题是,不得于扩展,当分类层次有n层时,需要建立n张表。应用2 :假设分级不固定,通常的解决方法就是在分类表中添加一列属性
7、,用来关联其 上一级分类的id值。修改后的类别表结构如下。类别表(类别id,类别名称,父类别id)这种处理方法也称为无限级层级(目录)的构建。实例分析. SELECT语句中各子句的执行顺序是怎样的?SELECT语句关键字的定义顺序:select distinct from joinon where group by having order by limit SELECT语句关键字的执行顺序:selectdistinct from join on where group by having order by limit 具体步骤:第一步执行from知道先从这个表开始的第二步执行on过滤根据jo
8、in_condition这里的条件过滤掉不符合内容的数据第三步执行join添加外部行innerjoin找两张表共同的局部left join以左表为准、找出左表所有的信息,包括右表没有的right join以右表为准,找出左表所有的信息,包括左表没有的#注意:mysql不支持全外连接full JOIN可以用union第四步执行where条件where后加需要满足的条件.然后就会得到满足条件的数据第五步执行group by分组当我们得到满足where条件后的数据时候,group by可 以对其进行分组操作第六步执行having过滤having和group by通常配合使用,可以对满足where 条件内容进行过滤第七步执行select打印操作当以上内容都满足之后,才会执行得到select到表第八步 执行distinct去重 得到select列表之后,如果指定有distinct ,执行select 后会执行distinct去重操作第九步执行order
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年人教版高二英语寒假作业英语阅读理解能力及答案
- 事业编知识产权局岗易错题试卷
- 2026年人教版高中语文必修第一册第7单元测试卷及答案
- 6.1《经济实力大幅跃升》导学案(含要点点拨)
- 2026年10月自考14585应急救援理论与技术押题及答案(北京)
- 2026年四川省政府采购评审专家考试试题及答案
- 护理质量改进与护理信息化建设
- 无张力疝修补术后的护理
- 特缓释片二甲双胍阿卡波糖联合治疗对2型糖尿病的降糖作用和对胰岛素
- 肿瘤标志物在疾病诊断中的应用与价值评估
- 2026年部编版新教材道德与法治五年级上册第一单元检测题(含答案)
- 口腔诊所诊疗服务规范
- Unit 2 My feelings(单元自测基础卷)A4版英语人教PEP版五年级上册2026秋
- 第9课《谈骨气》课件
- 2025年全国人大机关公开遴选公务员真题(附答案)
- 中国广电山东网络有限公司2026年度市县公司招聘145个模拟试卷附答案
- 荷马史诗《奥德赛》:英雄的归乡与人性的光辉
- 广东省医师变更执业注册申请审核表
- 直播间话术顺口溜词语大全
- 2025中国稀土集团有限公司及所属企业招聘41人笔试历年难易错考点试卷带答案解析
- 【高分复习笔记】李天元《旅游学概论》(第5版)笔记和课后习题详解
评论
0/150
提交评论