本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PURGE recyclebin; 给表名,字段加别名 : 表名 + 别名 ; 字段 [as] 别名 ; 去重复 : select distinct first_name from employees; 删除重复数据 : 方法1,先查找不重复的,再复制一份查询后不重复的 方法2,用rowID方法 条件查询…
联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 from 数据表2; 特别说明:使用union联合查询必须有一个前提,每个表读取的字段数必须是一致的 union联合查询默认是去重的. union  all :在数据联合时保存所有数据,示例代码: union  distinct :在数据联合时去重所有重复的数据,示例代码: union的意义:主要用于大数…
一.连接查询(SQL99标准) 1.含义:当要查询的数据来自多张表时要使用连接查询 2.语法: select 查询列表 from 表1 别名 [连接类型] join 表2 别名 on 连接条件 [where 筛选条件] [group by 分组] [having 筛选条件] [order by 排序列表] 注意:SQL99标准支持以下连接方式: #1内连接 #2外连接:左外.右外.全外连接 #3交叉连接(很少用到) 3.内连接: 案例一:查询部门个数>3的城市名和部门个数(分组函数+分组查询)…
在hibernate中进行多表查询,每个表中各取几个字段,也就是说查询出来的结果集并没有一个实体类与之对应,如何解决这个问题? 解决方案一,按照Object[]数据取出数据,然后自己组bean 解决方案二,对每个表的bean写构造函数,比如表一要查出field1,field2两个字段,那么有一个构造函数就是Bean(type1 filed1,type2 field2) ,然后在hql里面就可以直接生成这个bean了.具体怎么用请看相关文档. 本笔记继续使用dept部门表,emp员工表,一对多.多…
1.级联删除: -- 级联删除:裁员,公司倒闭 -- 级联删除(cascade),设置为null(setnull),放任不管(No action) -- cascade:(以一对多为例)如果删除多的一方数据,一的一方不受任何影响,但是如果删除一的一方的数据,多的一方所有对应数据全部被删除 select * from staff s inner join department d on d.id = s.department_id; delete from staff s where s.id =…
2018-07-10 08:29:55 思考应用场景 异常数据的测试 6.显示能挣得奖金的雇员的姓名.工资.奖金,并以工资和奖金降序排列.select ename,sal,commfrom empWHERE comm>0--两列都要descorder by sal desc,comm desc; 8. 显示姓名中两次出现字母L并且在30部门工作,或者其管理员编号是7782的雇员的姓名.SELECT ename FROM emp --模糊查询WHERE ename LIKE '%L%L%' AND…
where 子查询主要功能是控制数据行的,返回结果一般都是单行单列.多行单列.单行多列数据 单行单列 SELECT * FROM emp WHERE hiredate=( SELECT MIN(hiredate) FROM emp) ; 多行单列 (使用不多) SELECT * FROM emp WHERE (sal,job)=( SELECT sal,job FROM emp WHERE ename='SCOTT') AND ename<>'SCOTT' ; 多行单列 使用三个判断符号:IN…
一. 函数 聚合函数:count(),avg(),sum(),min(),max() 例:(1)查询Dept表中的所有的记录条数. String hql=" select count(*) from Dept "; Long count=(Long)session.createQuery(hql).uniqueResult(); 当不确定返回的是什么类型的时候可以根据:变量名.getClass()方法得到类型 例如:count.getClass()  返回的是:java.lang.Lo…
目录 1.事故现场 1.1 在使用 Insert into Table2 select * from Table1 将表1的数据插入到表2时,报错如下: 1.2 sql 语句 2.推测 3.解决方案 4.总结 1.事故现场 1.1 在使用 Insert into Table2 select * from Table1 将表1的数据插入到表2时,报错如下: 子查询返回的值不止一个.当子查询跟随在 =.!=.<.<=.>.>= 之后,或子查询用作表达式时,这种情况是不允许的 1.2 s…
目录 两者的各种叫法 相关子查询MySQL解释 相关子查询Wikipedia解释 相关子查询执行步骤拆解 相关子查询和嵌套查询的区别 参考资料 两者的各种叫法 相关子查询叫做:Correlated Subqueries 非相关子查询也叫普通子查询或嵌套子查询:Nested SubQueries 相关子查询MySQL解释 相关子查询是一个子查询中引用了某张表且这张表也在子查询外部被使用到.比如: SELECT * FROM t1 WHERE column1 IN ( SELECT column1…