今天发现一个业务上的存储过程写的不够完善,和老板反应后,老板说你来完善吧,我:苦瓜脸~.说实话,我对SQL语句的熟练程度真的是不提也罢[捂脸],大概的判断流程我知道,但是真的让我自己写,还真得上网查查相关资料. 主要的业务逻辑是这样的,涉及到表A,表B.首先要根据传入的参数从表A里面获取到一个数据memberId,然后根据获取到的memberId到表B里面查询出这一条数据,并更新. 问题:只是说找到这条数据更新,但是并没有做是否有这条数据的判断,所以我在执行存储过程的时候报错了. 解决思路:先根…
使用Northwind 数据库 首先查询Employees表 查询结果: city列里面只有5个城市 使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 先进行分组 注:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). sql语句为: select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUM…
常用sql语句总结(二)(更新数据,序列,创建数据表,约束,注释) 一. 增 INSERT INTO 数据表(字段,字段,-) VALUES(值,值-); INSERT INTO emp(empno,ename,job,mgr,date,sal,comm,deptno) VALUES(1001,'张三','班长',8000,SYSDATE|NOW(),3000,null,20) 二. 修 UPDATE 数据表 SET 字段 = 值,-.. WHERE 过滤条件; UPDATE emp SET s…
错误内容 org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to u…
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore]的结构 code      学号 char subject  科目 int score     成绩 int 可以这样写: SELECT [code]        ,[subject]        ,[score]    FROM (        SELECT *        ,RANK(…
COALESCE()函数 主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下:  COALESCE ( expression,value1,value2……,valuen)  COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定. COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式. 如果expression不为空值则返回expression:否则判断value1是否是空值,…
有两个导数据的需求,1.一张表里面每一个订单号可能对应多条数据,每个单号返回时间最早的那条. 2.根据条件查询某个字段并按照逗号,合并在一起. 表类似结构如下: 第一条sql:select c.Id,c.OrderNum, c.CreateTime FROM (select t.*,row_number() over(partition by t.OrderNum order by t.CreateTime ) rn  from Payinfo t WHERE t.OrderNum IN('20…
数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 加入: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 改动: update person set name =…
知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了 常用注解 @Select("查询的 SQL 语句"):执行查询操作注解 @Insert("查询的 SQL 语句"):执行新增操作注解 @Update("查询的 SQL…
批量复制表数据这里有两种方法,下面分别来介绍这两种方法: 一.手动创建新表,然后复制数据 如果是要复制整个表的话,可以使用SQL SERVER自动生成CREATE脚本: 然后在脚本中改改表名就可以了,这样就有了一张和原来一模一样的新表. · INSERT INTO SELECT 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 说明:要求目标表Table2必须存在,由于目标表Table…