精华内容
下载资源
问答
  • 汇总函数注意:1) 所有汇总函数如果输入列名,计算前会将空值(null)排除再计算(count(*)会包含空值)2) sum(列名)和avg(列名)只能对数值类型列计算汇总分析练习:2. 分组:group by分析方法:数据分组...

    笔记

    009510c861f66fc3f5844e8d7c27559b.png

    1. 汇总函数

    682904714438786cec6fb5415331933e.png

    注意:

    1) 所有的汇总函数如果输入的是列名,计算前会将空值(null)排除再计算(count(*)会包含空值)

    2) sum(列名)和avg(列名)只能对数值类型的列计算

    汇总分析练习:

    210de7c1c4ae81b8e52bf884645c9310.png

    2. 分组:group by

    分析方法:数据分组——应用函数——组合结果

    e5deb494cac45c650b1fe6efa231fa58.png

    分组练习:

    7d88b259af4ed71fc4b4ecbfa2267a0c.png

    3. 对分组结果指定条件:having

    对分组结果指定条件练习:

    c353f909eb5a8b3374d47bffe4cc74e9.png

    4. 用SQL解决业务问题

    SQL解决业务问题方法:

    6e41b1ff5542fc30f8ff7724cf19a0a7.png

    理解业务问题:计算每门课程的平均成绩,并且平均成绩大于等于80分

    分析思路:

    select 查询结果

    【每门课的课程号:分组,平均成绩:avg(成绩)】

    from 从哪张表【成绩表:score】

    where 查询条件【没有】

    group by 分组【按课程号分组】

    having 对分组结果指定条件【平均成绩>=80】

    写出SQL语句:

    7b4534bca087d6fa5370def86afedaac.png

    5. 对查询结果进行排序:order by

    降序排序:desc 升序排序:asc

    注意:1)order by 默认使用升序排序

    2)空值(null)默认排在前面

    3)limit 从查询结果中取出指定行

    排序练习:

    85eb122c94be12abf30d7c7265846d53.png

    6. 常见错误

    1) 在group by中使用了select里的别名

    2) 在where中使用聚合函数

    3) 字符串类型的数字

    7. 总结

    1) SQL运行的顺序

    SQL运行的顺序:from,where,group by,having,select,order by,limit

    73bd9c6af7bb36f5ebf91c155910ce7a.png

    2) 查询复杂业务问题步骤

    a 将业务问题翻译成大白话

    b 按照SQL子句写出分析思路

    c 写出SQL语句

    3) 分析报错原因,避免常见错误

    8. Sqlzoo练习

    c982134cc8df584b430f1fc1e240e66d.png

    文章部分资料来源:猴子课程,SQLZOO

    展开全文
  • java.sql.SQLException: 列名无效 at com.sun.rowset.CachedRowSetImpl.getColIdxByName(CachedRowSetImpl.java:1637) at com.sun.rowset.CachedRowSetImpl.getInt(CachedRowSetImpl.java:2557) at address....

    部分错误代码如下:

    java.sql.SQLException: 列名无效
    	at com.sun.rowset.CachedRowSetImpl.getColIdxByName(CachedRowSetImpl.java:1637)
    	at com.sun.rowset.CachedRowSetImpl.getInt(CachedRowSetImpl.java:2557)
    	at address.AddressDao.mapper(AddressDao.java:51)
    	at address.AddressDao.findAddressInformation(AddressDao.java:41)
    	at address.TestAddressDao.testFindAddressInformation(TestAddressDao.java:70)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    

    分析下原因:
    结果集相关方法中的参数必须能在数据库表的字段中找到,比如把图中的“add_id”改成id,就会导致出现列名无效。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 一、 数据类型分类二、 在数据库中创建表table① 、用向导创建表表结构创建好了之后保存:保存之后...go --批处理语句 create table 表名 ( 列名1 数据类型 ,--一个列名以逗号结尾 列名2 数据类型 --最后一个列名...

    一、 数据类型分类

    625b24af2d202566d90bdf9736f0116f.png

    二、 在数据库中创建表table

    ① 、用向导创建表

    2db156adad1a5810e4c850cf7e94852f.png
    1104bfdf5138cfbb6b9d9228cfc3d92f.png

    表结构创建好了之后保存:

    7c060ccbb52ed8dd568c2138fe265bc4.png

    保存之后可以在资源管理器中看见表:

    1d6982965bb0d43d256354ee9785573e.png

    三、用代码创建表:

    ① 、sql创建代码的语法如下(必须要掌握的):

     use 数据库名称 --使用哪一个数据库(在什么数据库下面创建表) go --批处理语句 create table 表名 ( 列名1 数据类型 ,--一个列名以逗号结尾  列名2 数据类型 --最后一个列名不逗号)
    906a8060cc45e4a697c91a3ab0973171.png

    ②、sql创建代码的复杂语法(作为了解的知识):

    用以上sql语句创建表时,如果studentDB中已经存在了studentInfo这个表,那么当我们再一次执行创建studentInfo的sql代码时会出现下列情况

    数据库中已经存在studentInfo的对象 不能再次创建,在这种情况下,如果是在实际开发中,会遇到各种各样的问题,比如我们要清空数据库,重置数据库数据的时候,sql语句通常会执行到一半就出现这种问题,那么为了避免这种情况发生,我们通常的做法是,在创建表之前判断一下在这个数据库中是否已经存在了这样一张表,如果存在那么我们先把这张表给删除了,再重新创建新的,这样以来就不会有以上的同名数据库二次创建不成功的现象:
    展开全文
  • 查询多个列时,用英文逗号分开星号(*):查询出全部列as:为列设定别名distinct: 删除重复数据distinct用在多列之前,表示这列数据都相同时才会删除,只能用在第一个列名出现前面2.指定查询条件sql运...

    9bbb33f6abdf37df10cfa4212ad7d4d9.png

    1.基本的查询语句练习

    select 语句

    select <列名1><列名2>,... ...

    <表名>;

    查询结果中列顺序与select子句中列顺序一样,查询多个列时,用英文逗号分开

    bb279b8c9ca1960aeb6c10401986d67e.png

    星号(*):查询出全部列

    5b53d10897b3dc72ea7946cc0c55d1c0.png

    as:为列设定别名

    dc5da4e66fc0f43f93d21f0c577de951.png

    distinct: 删除重复数据

    acd34c4733489363f2a0d2290c143a35.png

    distinct用在多列之前,表示这列的数据都相同时才会删除,只能用在第一个列名出现的前面

    00f327d5b07f614aa494b864d9984031.png

    2.指定查询条件

    sql运行顺序:

    select子句最后运行

    其他子句按书写顺序运行

    ① from从哪张表中查找数据

    ②where查询出符合条件的行

    ③从查询出的行中选取出select语句指定的列

    d57411f189edc5b3384c2dac8ce02338.png
    ③SELECT 姓名,学号 ①FROM student②WHERE 姓名=&#39;猴子&#39;;

    3.注释和sql语句注意事项

    -- 单行注释

    /*多行注释*/

    4.运算符

    • 算术运算符

    53a33b9ddb699a47ae7a7892cc79e293.png

    5+null=null

    d44ce6d093eb28cdef6895958fa23909.png
    • 比较运算符

    a6318644ca757512d1ba019f05ecafcf.png

    字符串的比较按照字典顺序进行排序

    264bece6dee15958464a68b004fc3b5c.png

    2498e7c48c8b9f48d64792183b01505c.png
    • 逻辑运算符

    755d30a2aa57f81bbf97d10cfd78225d.png

    cf4353451e14748aa57e8990f5cedd6d.png

    85e6a2947b4354ef49afdf876c349705.png

    9cae7c7af53656725c6c6b1f29e05bc4.png

    dc347af72ce9e8f0d9fc6d9fa53ac232.png

    67eaf13d610c8bc89edfe7ca16609ce6.png

    0b8205de3e86cbafa1ff48f4e0c081fa.png

    e2b085a3d29f78ba71b9401adaef447a.png

    8529c38e5fbcfcef962de02451b8ac05.png

    391b308d37fc38e187035e9601e7c990.png

    5.字符串模糊查询

    like:字符串模糊查询

    %表示任意字符串

    217bb4945a17c260622a0b6485992249.png

    4b2d0c748fc3b36550a14495cca04f61.png

    88dd4a6c5093165aadbf435dc1eb6dbf.png

    _1个下划线表示任意1个字符

    432d0439a34c307893129f988f258962.png

    SQL的书写规则

    • SQL语句以英文分号结尾
    • SQL语句不区分关键字的大小写
    • 列名不能加单引号,不能有空格
    • 输入符号的时候只能使用英文的

    SQLZOO练习

    269678158692d37753ae5f8a1d8ca885.png

    ad014f6f5c694f359903f3fb0520e989.png

    98049471425ad0100110911bbfc9c153.png

    213f162d08c6516409e36b71ffd0fcd7.png

    ce621994f737ec103ce38c6ae77aa1d3.png

    f9448ae11dfa9d43d5b45caa48156234.png

    8431010ed27dc8b08564364079969e24.png

    2965e52139c669cf3b13f701cfd262e3.png

    104ce0880120b751a9c5e8e5f37ac957.png

    88bd2d5a5fea2bbe80e71512cb3648ed.png

    729207451405dbe317b17241a4cb7d58.png

    f225def62e552a082260d48162769a79.png

    e29e49893054a1a7066d67f2c77da467.png

    1bde5b935f5a9be8fd7a4fb831478078.png

    d9abb4cdef0ad608023ad18222c88730.png

    7a26b41da696fecdc7700a41d10ac521.png

    7f843fc7c0d26d0542c451cd999592a8.png
    展开全文
  • 我们总是在风雨中努力奔跑,可否已经忘记了起点时初心,即使现实总给我们使绊子,但我们依旧要守住本心。前言最近一直在做有关数据库方面工作,所以也就对于SQL接触比较频繁了,之前写sql比较少,对于一些...
  • iBatis查询时报“列名无效”无列名错误原因及解决方法 iBatis会自动缓存每条查询语句列名映射,对于动态查询字段或分页查询等queryForPage, queryForList , 就可能产生“列名无效”、rs.getObject...
  • 数据库列名无效原因

    万次阅读 2015-11-19 19:03:01
    1、原因可能是列名没有加中括号 2、可能是SQL语句中的列名与建表时的列名不一致 3、看看是不是少了标点符号
  • 列名无效

    千次阅读 2017-03-22 16:49:59
    1,使用框架的condition,item,query.hbm.xml进行查询时,报列名无效的错误。 原因是ITEM 类中的字段和 query.hbm.xml中的列要一一对应,而我的item类中的属性比sql中的字段多。所以报错
  • 这个问题,我一下午都没有找到原因,请大神帮忙一下配置文件/p>PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">...
  • 就可能产生“列名无效”、rs.getObject(object)异常错误   解决办法: 在SQL语句上加一个属性(remapResults)配置让每次执行都重新映射列名。 注:仅在可能被queryForPage()和queryForList()都调用、或者
  • 产生报错场景: 1、Hibernate使用纯sql方式查询; 2、查询出来结果拼装成一个VO对象。...如上,Hibernate就会报“列名无效错误。 解决方法,select出来列中包含xxx。 比如: [code="sql"...
  • 但是子查询单独执行提示列名无效。后经查询问题,发现如下文章,原因及处理方式写非常详细。想必大家都用过sql中in语句吧,我这里描述下我遇到一种in语句问题,并总结一些给大家分享下,不对地方还希望大...
  • ibatis 列名无效

    2012-06-06 20:26:32
    iBatis查询时报“列名无效”无列名错误原因及解决方法 iBatis会自动缓存每条查询语句列名映射,对于动态查询字段或分页查询等queryForPage, queryForList , 就可能产生“列名无效”、rs.getObject(ob...
  • 就可能产生“列名无效”、rs.getObject(object)异常错误   解决办法: 在SQL语句上加一个属性(remapResults)配置让每次执行都重新映射列名。 注:仅在可能被queryForPage()和queryForList()都调用、或者
  • 利用C#代码进行数据库查询操作时,出现提示列名无效: select * from addpoll where videoname=video1 //提示video列名无效  后面查询了下,需要加单引号,改成下面即可: select * from addpoll where ...
  • SQL Server出现对象名和列名无效的解决方法 想必很多朋友在用sql server在学习的时候会遇到过对象名和列名无效的解决方法的情况,我在练习函数创建的时候经常会遇到这个问题,经过不断查找问题终于知道怎么解决这个...
  • sql 列名无效

    2019-10-03 08:43:04
    在SQLServer2008中,当设计(修改)表结构之后,再用SQL语句时,列名会显示无效,但执行可以通过 如下图: 原因是SQL Serverintellisense(智能感知功能)需要重新整理一下,用快捷键Ctrl+Shift+R即可 ...
  • 很多时候对数据库表修改字段后会出现“列名无效”,或者在查询分析器里面是红色的下划线,造成这个现象的原因是:SQL Server的intellisense(智能感知功能),没有感知到更改,需要重新整理一下 方法:在编辑sql...
  • [ibatis]列名无效问题处理

    千次阅读 2017-01-10 19:00:36
    使用了ibatis的查询功能,点击查询后一直报列名无效的问题,但是将日志中打印出来的sql在pl/sql里面执行没有报错。检查了ibatis的sql管理文件,列名没有写错的情况,参数传递也正确。问题原因: ibatis会自动缓存...
  • 列名 'Class' 无效。说明: 执行当前 Web 请求期间,出现未处理异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误...可以使用下面异常堆栈跟踪信息确定有关异常原因和发生位置信息。堆栈跟踪:[...
  • java.sql.SQLException: 列名无效

    万次阅读 2019-05-23 17:34:24
    在进行jdbc操作时,出现了如下图的bug...主要是因为字段名错误,如下,本来应该从数据库中取emp表中的realName字段的数据,却取成了reaName字段的数据,导致出现列名无效的问题 ps:一定要认真!!! last ps: ...
  • java.sql.SQLException: 列名无效 最近换了个项目组,数据访问层从使用Mybatis变为Hibernate,开发过程中也遇到一些小麻烦,比如我XX.hbm.xml文件中sql打印出来执行查询,是OK。但是在项目中调用就会报错 ...
  • 1.项目开发过程中在xml配置文件中使用$tableName/sql$时,报"列名无效"错误,后来经过查询,发现是ibatis缓存 了上一次查询的表结构的原因。解决办法:只需要在元素中添加remapResults="true" 即可。 1 <...
  • 数据库出现列名无效

    千次阅读 2012-05-25 00:14:19
    主要原因是 表名重复,或者是列名重复~使表名,列名变得复杂一些可以解决问题,但是好像有些简单名字并没有重复,但是就是不行~目前没有搞清楚原因~~
  • SQL Error: 17006, SQLState: 99999 列名无效

    千次阅读 2020-08-24 16:00:38
    SQL Error: 17006, SQLState: 99999 列名无效 今天使用hibernate进行查询时候报了一个错误,这里简单记录下。 问题描述: 使用hibernate查询实体报错。 原因分析: String sql = "select emplId,name from ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 121
精华内容 48
关键字:

列名无效的原因