sql嵌套子查询
子查询:
使用子查询的原则
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');
如果子查询返回的是零值,不会对主程序造成影响;
如果子查询返回的是空值,那么会影响主程序的返回值;
SELECT employee_id,
last_name
f
相关文档:
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE data ......
SQL Server 加载驱动和url的语句则为
驱动包为com.microsoft.sqlserver.jdbc.SQLServerDriver
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
驱动包为com.microsoft.jdbc.sqlserver.SQLServerDriver时
String driver ......
一、了解Reporting Services
Sqlserver Reporting Services是微软的数据库报表设计工具,它集成在微软的商业智能开发工具:SQL Server Business Intelligence Development Studio之中,这个工具其实就是大家熟悉的Visual Studio,利用Reporting Services我么能够高效的开发数据报表,Reporting S ......
#1. 首先以管理员的身份登录到oracle系统中
cmd;
sqlplus sys/sys as sysdba;
#2.创建用户test,密码为test
create user test identified by test;
#3.创建表空间,在D盘下建立50m的表空间data_dbf
create tablespace ts_tablespace datefile 'D:\data_dbf' size 50m;
#4.为用户分配表空间
alter user test default t ......
1.使用PHP的MSSQL,需要加载PHP的MSSQL扩展。具体方法是打开php.ini文件,找到下面一行代码:
;extension=php_mssql.dll
去掉行首的分号,然后保存为php.ini文件,即完成PHP的MSSQL扩展的加载。
2.PHP连接SQL Server的必要条件
a. SQL Server服务器的主机名称。
b. 允许对服务器 ......