易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL嵌套子查询

自:http://blog.csdn.net/AJAXBloger/archive/2007/08/29/1764506.aspx
子查询:
使用子查询的原则
1.一个子查询必须放在圆括号中。
2.将子查询放在比较条件的右边以增加可读性。
子查
询不包含 ORDER BY 子句。对一个 SELECT 语句只能用一个 ORDER BY 子句,
并且如果指定了它就必须放在主
SELECT 语句的最后。
ORDER BY 子句可以使用,并且在进行 Top-N 分析时是必须的。
3.在子查询中可以使用两种
比较条件:单行运算符和多行运算符。
子查询的类型
单行子查询:从内 SELECT 语句只返回一行的查询
多行子查
询:从内 SELECT 语句返回多行的查询
单行子查询
单行子查询是从内查询返回一行的查询。在该子查询类型中用一个单行操
作符。幻灯片中列出了单行操作符。

显示那些 job ID 与雇员 141 相同的雇员。
SELECT
last_name, job_id
from employees
WHERE job_id =
(SELECT
job_id
from employees
WHERE employee_id = 141);
SELECT
last_name, job_id, salary
from employees
WHERE job_id =
(SELECT
job_id
from employees
WHERE employee_id = 141)
AND salary
>
(SELECT salary
from employees
WHERE employee_id = 143);

显示 job ID 与雇员 141 相同,并且薪水 高于雇员 143 的那些雇员。
注:外和内查询可以从不同的表中取得
数据。
SELECT last_name, job_id, salary
from employees
WHERE
salary =
(SELECT MIN(salary)
from employees);
求所有人谁的工资最小。
SELECT
department_id, MIN(salary)
from employees
GROUP BY
department_id
HAVING MIN(salary) >
(SELECT MIN(salary)
from
employees
WHERE department_id = 50);
求每个部门的最小工资,但是要高于50号部门的工资。
SELECT
employee_id, last_name
from employees
WHERE salary =
(SELECT
MIN(salary)
from employees
GROUP BY department_id);
问题出现在:单
行子查询返回了多个查询值;
应改为:
SELECT employee_id, last_name
from
employees
WHERE salary in
(SELECT MIN(salary)
from employees

GROUP BY department_id);
SELECT last_name, job_id
from
employees
WHERE job_id =
(SELECT job_id
from employees
WHERE
last_name = 'Haas');
如果子查询返回的是零值


相关文档:

SQL备份与还原经典文档

SQL备份与还原经典文档
======================================================================
SQL备份
======================================================================
----------------------------------------------------------------------
1、SQL数据库恢复模型
------------------------------ ......

Sql Server2000,Sql Server2005中的表结构的相关信息

Sql Server2005的:
SELECT
TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
Column_id=C.column_id,
ColumnName=C.name,
PrimaryKey=ISNULL(IDX.PrimaryKey,N''),
[IDENTITY]=CASE WHEN C.is_identity=1 THEN N'√' ......

Oracle和SQL Server在事务处理上的区别

摘 要:本文讨论了Oracle和SQL Server的在事务处理上的区别,并分析了其实现机制的差异。
关键词:Oracle;SQL Server;事务;事务隔离级别;DDL。
事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这个方面花费了很大精力,不同的事务处理方式会导致数据库性能和功能上的巨大差异。
事务处理也是数据库管 ......

Sql Server 2008 Reporting Services系列(一)

一、了解Reporting Services
     Sqlserver Reporting Services是微软的数据库报表设计工具,它集成在微软的商业智能开发工具:SQL Server Business Intelligence Development Studio之中,这个工具其实就是大家熟悉的Visual Studio,利用Reporting Services我么能够高效的开发数据报表,Reporting S ......

PHP连接SQL Server服务器

1.使用PHP的MSSQL,需要加载PHP的MSSQL扩展。具体方法是打开php.ini文件,找到下面一行代码:
  ;extension=php_mssql.dll
去掉行首的分号,然后保存为php.ini文件,即完成PHP的MSSQL扩展的加载。
2.PHP连接SQL Server的必要条件
a.   SQL Server服务器的主机名称。
b.    允许对服务器 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号