- 浏览: 338338 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
右手边的你:
你确定你测试过batch是没问题的???
使用DbUtils进行数据库操作 -
电点mxn:
...
使用DbUtils进行数据库操作 -
sljackson:
顶
Spring事务管理 -
geyaandy:
...
Oracle行列互换 横表和纵表 -
weizou_china:
Request URL:http://localhost:80 ...
Spring mvc3的ajax
--desc 表名 描述表的内容 desc emp; --加上数学表达式和列名 ""保持格式 select ename "name space", sal*12 year_sal from emp; select 2*3 from dual; select sysdate from dual; --空值的数学表达式 结果都是空值 select ename, sal*12 + comm from emp; --"||"字符串连接 单引号中的是字符串,字符串中的单引号,''表示 select ename||sal from emp; --distinct 修饰两个字段 select distinct deptno, job from emp; select ename, sal from emp where sal between 800 and 1500; select ename, sal from emp where sal >= 800 and sal <= 1500; select ename, sal from emp where comm is null; --一个事务开始于一条ddl语句,结束语rollback commit ddl数据定义语句 dcl数据控制语句语句 --正常断开连接 提交 非正常断开连接 回滚 select ename, sal from emp where sal not in (800 ,1500); -- 模糊查询 select ename, sal from emp where ename like '_A%'; select ename, sal from emp where ename like '%\%%'; --转义字符 select ename, sal from emp where ename like '%$%%' escape '$'; --排序 select * from dept order by deptno desc; select ename, sal from emp order by deptno asc, ename desc; --函数 select lower(ename) from emp; select substr(ename,1,3) from emp; select round(23.652, 1) from dual; select to_char(sal, '$99,999.999') from emp; select to_char(sal, 'L000,000.000') from emp; select to_char(hiredate, 'yyyy-mm-dd hh:mi:ss') from emp; select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual; select ename, hiredate from emp where hiredate > to_date('1982-09-11 12:44:44', 'YYYY-MM-DD HH24:MI:SS'); select sal from emp where sal > to_number('$1,250.000', '$9,999.000'); select ename,sal*12 + nvl(comm, 0) from emp; --组函数 多行输入,只有一行输出 select ename, max(sal) from emp; 结果不能保证只有一行 select max(sal) from emp; select sum(sal) from emp; select count(distinct deptno) from emp; --分组函数 select deptno,avg(sal) from emp group by deptno; select deptno, job, max(sal) from emp group by deptno, job; --rollup、cube配合group by命令使用,可以提供信息汇总功能(类似于"小计") select job,deptno,sum(sal) total_sal from emp group by rollup(job,deptno); --出现在select后,不是组函数的,必须出现在group by里 --where语句对单挑记录进行过滤,分组后过滤用having --子查询 把一次查询结果当成表 select ename from emp where sal = (select max(sal) from emp); select ename, sal from emp join (select max(sal)max_sal, deptno from emp group) t on(t.max_sal = emp.sal and t.deptno = emp.deptno); --自连接 select t1.ename, t2.ename from emp t1, emp t2 where t1.mgr = t2.empno; select ename, dname, grade from emp e, dept d, salgrade s where e.deptno = d.deptno and e.sal between s.losal and s.hisal and job <> 'CLERK'; --SQL 1999 链接条件不写在where中,where只负责过滤数据 select ename, dname from emp cross join dept; select ename, dname from emp join dept on (emp.deptno = dept.deptno); select ename, dname from emp join dept using (deptno); select ename, grade from emp e join salgrade s on (e.sal between s.losal and s.hisal); select e1.ename, e2.ename from emp e1 join emp e2 on (e1.mgr = e2.empno); --左外连接 select e1.ename, e2.ename from emp e1 left join emp e2 on (e1.mgr = e2.empno); --右外连接 select ename, dname from emp e right join dept d on (e.deptno = d.deptno); select ename, dname from emp e full outer join dept d on (e.deptno = d.deptno); --求部门中那些人薪水最高 select ename, sal from emp join (select deptno, max(sal) max_sal from emp group by deptno) t on (emp.sal = t.max_sal and emp.deptno = t.deptno); --求部门平均薪水的等级 select deptno, grade from salgrade s join (select avg(sal) avg_sal, deptno from emp group by deptno) t on (avg_sal between losal and hisal); --求平均薪水最高的部门的部门标号 select deptno, avg_sal from (select avg(sal) avg_sal, deptno from emp group by deptno) where avg_sal = (select max(avg(sal)) from emp group by deptno); --平均薪水的等级最低的部门的部门名称 select dname, t1.deptno, grade, avg_sal from ( select deptno, grade, avg_sal from (select deptno, avg(sal) avg_sal from emp group by deptno) t join salgrade s on (t.avg_sal between s.losal and s.hisal) ) t1 join dept on (t1.deptno = dept.deptno) where t1.grade = ( select min(grade) from ( select deptno, grade, avg_sal from (select deptno, avg(sal) avg_sal from emp group by deptno) t join salgrade s on (t.avg_sal between s.losal and s.hisal) ) ) --建立视图 create view v$_dept_avg_sal_info as select deptno, grade, avg_sal from (select deptno, avg(sal) avg_sal from emp group by deptno) t join salgrade s on (t.avg_sal between s.losal and s.hisal); --变简单了 select dname, t1.deptno, grade, avg_sal from v$_dept_avg_sal_info t1 join dept on (t1.deptno = dept.deptno) where t1.grade = ( select min(grade) from v$_dept_avg_sal_info ) --求部门平均薪水的等级 select deptno, avg_sal, grade from (select avg(sal) avg_sal, deptno from emp group by deptno) join salgrade s on (avg_sal between s.losal and s.hisal); --求部门平均的薪水等级 select avg(grade), deptno from ( select deptno, ename, grade from emp join salgrade s on emp.sal between s.losal and s.hisal ) group by deptno --雇员中有哪些人是经理人 select ename from emp where empno in (select distinct mgr from emp); --不使用组函数,求薪水的最高值 select distinct sal from emp where sal not in (select distinct e1.sal from emp e1 join emp e2 on (e1.sal < e2.sal)); --平均薪水最高的部门的部门名称 select dname from dept where deptno = ( select deptno from (select avg(sal) avg_sal, deptno from emp group by deptno) where avg_sal = (select max(avg_sal) from (select avg(sal) avg_sal, deptno from emp group by deptno) ) ) --求比普通员工的最高薪水还要高的经理人名称 select ename from emp where empno in (select distinct mgr from emp where mgr is not null) and sal > ( select max(sal) from emp where empno not in (select distinct mgr from emp where mgr is not null) ) --rownum只能和小于等于号联合使用 --使用rownum 要关联表 select ename from (select rownum r, ename from emp) where r > 10; --薪水最高的5个人 select ename, sal from (select ename, sal from emp order by sal desc) where rownum <= 5; --薪水最高的第六个到第十个雇员 select ename, sal from ( select ename, sal, rownum r from (select ename, sal from emp order by sal desc) ) where r >= 6 and r <= 10 --http://penghao122.iteye.com/blog/54810 --SQL面试题 --找出没选过“黎明”老师的所有学生姓名。 select sname from s join sc on (sc.sno = s.sno) join c on (c.cno = s.cno) where c.cteacher <> 'liming'; --列出2门以上(含2门)不及格学生姓名及平均成绩。 select sname where sno in ( select sno from sc where scgrade < 60 group by sno having count(*) >= 2 ) --即学过1号课程有学过2号课所有学生的姓名 select sno from sc where cno = 1 and sno in ( select sno from sc where cno = 2 ); --一个事务开始于一条ddl语句,结束语rollback commit ddl数据定义语句 dcl数据控制语句语句 --正常断开连接 提交 非正常断开连接 回滚
送上mysql中的,oracle默认表(emp,dept, salgrade)的建表语句
CREATE TABLE EMP (EMPNO numeric(4) NOT NULL, ENAME VARCHAR(10), JOB VARCHAR(9), MGR numeric(4), HIREDATE DATE, SAL numeric(7, 2), COMM numeric(7, 2), DEPTNO numeric(2)); INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, NULL, 20); INSERT INTO EMP VALUES (7499, 'ALLEN', 'SALESMAN', 7698, '1981-11-20', 1600, 300, 30); INSERT INTO EMP VALUES (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30); INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, NULL, 20); INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30); INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, NULL, 30); INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839, '1981-01-09', 2450, NULL, 10); INSERT INTO EMP VALUES (7788, 'SCOTT', 'ANALYST', 7566, '1982-12-09', 3000, NULL, 20); INSERT INTO EMP VALUES (7839, 'KING', 'PRESIDENT', NULL, '1981-11-07', 5000, NULL, 10); INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30); INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788, '1983-01-12', 1100, NULL, 20); INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698, '1981-11-03', 950, NULL, 30); INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, NULL, 20); INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782, '1982-01-12', 1300, NULL, 10); CREATE TABLE DEPT (DEPTNO numeric(2), DNAME VARCHAR(14), LOC VARCHAR(13) ); INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK'); INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS'); INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO'); INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON'); CREATE TABLE BONUS (ENAME VARCHAR(10), JOB VARCHAR(9), SAL numeric, COMM numeric); CREATE TABLE SALGRADE (GRADE numeric, LOSAL numeric, HISAL numeric); INSERT INTO SALGRADE VALUES (1, 700, 1200); INSERT INTO SALGRADE VALUES (2, 1201, 1400); INSERT INTO SALGRADE VALUES (3, 1401, 2000); INSERT INTO SALGRADE VALUES (4, 2001, 3000); INSERT INTO SALGRADE VALUES (5, 3001, 9999); CREATE TABLE DUMMY (DUMMY numeric); INSERT INTO DUMMY VALUES (0);
Oracle树状查询
Select * from tablename start with [condition1] Connect By Prior [condition2] where [condition3]
condition1 通常是用于筛选某颗树或者多颗树的结点,这里所的树包括子树,
condtion2 通常是用于连接父结点和子结点的关系,prior 所表示的是上一条记录,通常用法:prior id = pid,(上一条的的ID号是本条记录的父类ID号)这样就把整个树状结构给建立起来了。
conditon3 就是我们通常的where语句,过滤某些记录。
发表评论
-
SQL笔试题 取code相同的,value最大的记录
2010-06-13 09:52 1440idcodevalue1a12a33a34b35b46b5 ... -
常用MySQL命令
2010-06-01 23:47 1063启动:net start mySql; 进入:mysql - ... -
SQL Plus常用命令
2010-06-01 23:41 1550连接命令 connect scott/tig ... -
关于ROWNUM的使用
2009-10-27 00:06 1130ROWNUM的概念 ROWNUM是一个虚假的列。它将被分配为 ... -
数据库的三范式
2009-08-14 23:52 1430第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。 ... -
Oracle行列互换 横表和纵表
2009-07-28 14:45 25388行列互换 /* 在实际使 ... -
PL/SQL
2009-07-15 22:16 1937--plsql set serveroutput on; ... -
Oracle DML DDL操作
2009-06-12 00:07 2178当数据库字段设计为定长字符串时,效率高,占空间。空间换 ...
相关推荐
FROM 子句指定 SELECT 语句查询及与查询相关的表或视图。在 FROM 子句中最多可指定 256 个表或视图,它们之间用逗号分隔。 * 指定多个表或视图:在 FROM 子句同时指定多个表或视图时,如果选择列表中存在同名列,...
学习SQL查询语句,首先必须解决一个问题,数据问题。这里为大家准备了完整的几个表的数据
对于开发人员来说,尤其是需要频繁进行数据查询时,可以快速构建和测试SQL语句,节省了大量的时间。同时,它降低了错误率,因为大多数工具会自动检查语法和逻辑错误,确保生成的SQL语句是有效的。 另外,可视化界面...
通过本资源,读者可以学习和掌握 SQL 查询语句的编写和应用。 知识点: 1. 数据库的基本概念:数据库、表、字段、记录等概念。 在 SQL 查询语句中,我们可以看到数据库的基本概念,如数据库、表、字段、记录等。...
sql 语句学习 sql sql sqlsql 语句学习 sql sql sql
SQL查询语句转换成图结构的算法设计与实现 本文旨在设计并实现将SQL查询语句转换成图结构的算法,利用图神经网络对SQL查询语句进行分析和处理。该算法可以将SQL查询语句中的字段、表名、函数、操作符、值和关键字...
- 一组SQL语句的集合,要么全部执行成功,要么全部回滚。常用命令:`BEGIN TRANSACTION`, `COMMIT`, `ROLLBACK`. 9. **存储过程(Stored Procedure)** - 包含一组预编译的SQL语句,可多次调用。创建存储过程:`...
子查询是嵌套在其他SQL语句中的查询,它可以返回一个或多个结果集,这些结果集可以被外部查询使用。 4. **视图** 视图是虚拟的表,它基于一个或多个表的查询结果。创建视图可以简化复杂的查询,提供数据的安全性...
在ACCESS中,通过“模块”可以输入和执行SQL语句,实现更复杂的数据处理。这对于需要自动化或批量处理数据的场景尤其有用。 5. **示例应用**:例如,假设我们有一个名为"Employees"的表,包含"ID"、"Name"和"Salary...
7. **存储过程**:预编译的SQL语句集合,可以接受参数,执行多次,提高性能,并提供封装和安全性的优点。 8. **触发器**:当满足特定条件时自动执行的SQL代码,常用于实现复杂的业务规则或审计功能。 9. **视图**...
总结来说,"经典的sql查询语句大全"是学习SQL的良好起点,它涵盖了从基础到进阶的各种查询技巧,对于建立和管理数据库,特别是构建学生选课系统这类应用,是非常实用的资源。通过学习并实践这些查询语句,不仅能够...
在Java中,可以使用JDBC(Java Database Connectivity)API来执行SQL语句。首先需要加载驱动,建立连接,创建Statement或PreparedStatement对象,然后执行SQL并处理结果集。 ```java Class.forName(...
数据库SQL查询语句练习题 数据库SQL查询语句是数据库管理系统中的一种基本语言,用于对数据库中的数据进行查询、插入、更新和删除等操作。本文档提供了一个教学数据库Education的查询练习题,涵盖了基本的查询语句...
SQL 查询语句学习测试答案 本文档提供了 SQL 查询语句的学习测试答案,涵盖了单表查询、多表查询和综合查询等多种查询类型。 单表查询 1. 查询订购日期在 1996 年 7 月 1 日至 1996 年 7 月 15 日之间的订单的...
学习SQL查询语句是理解数据库管理和数据分析的关键。通过这些文档,初学者可以逐步掌握如何有效地从数据库中提取信息,为更高级的数据处理和分析打下坚实基础。记得实践是掌握任何技能的最佳途径,所以尝试编写和...
通过这份资源,读者可以学习和掌握数据库中 SQL 查询语句的基础知识和高级应用。 一、检索计算机系的全体学生的学号、姓名和性别 在这个问题中,我们需要检索计算机系的全体学生的学号、姓名和性别。为了解决这个...
本资源"SQL查询语句大全集锦(超经典)"为学习SQL提供了丰富的参考资料,旨在帮助用户更高效地掌握SQL的核心概念和实际应用。 一、SQL基础 SQL主要包括以下部分: 1. 数据定义语言(DDL):用于创建和修改数据库...
sql学习sql学习sql学习sql学习sql学习sql学习sql学习sql学习sql学习sql学习sql学习
2. 分析例子中的SQL语句,理解其语法结构和逻辑。 3. 在SQL Server环境中运行代码,观察结果,对比预期。 4. 尝试修改例子,如改变选择的列、添加或修改条件,观察变化。 5. 学习并应用新的概念,如联接、分组和聚合...