2024年4月19日发(作者:)

SQL

常用语句,子查询整理

一、SQL子查询语句

1、单行子查询

select ename,deptno,sal

from emp

where deptno=(select deptno from dept where loc

=,

NEW YORK');

2、 多行子查询

SELECT ename,job,sal

FROM EMP

WHERE deptno in ( SELECT deptno FROM dept WHERE dname LIKE SW);

3、 多列子查询

SELECT deptno,ename,

FROM EMP

WHERE (deptno,sal) IN (SELECT (sal) FROM EMP GROUP BY deptno);

4、 联视图子查询

(1) SELECT ename

f

job,sal

t

rownum

FROM (SELECT enamejob,sal FROM EMP ORDER BY sal);

(2) SELECT ,sal,rownum

FROM ( SELECT enameJob,sal FROM EMP ORDER BY sal)

WHERE rownum<=5;

5、 在HAVING子句中使用子查询

SELECT deptnoJob,AVG(sal) FROM EMP GROUP BY deptnojob HAVING

AVG(sal)>(SELECT sal FROM EMP WHERE ename=

l

MARTIN*);

6、 连接左连接右连接举例;

select sys _id ,sys. user・user code from sys_user inner join XZFW BANJIE on sys

user, user id=XZFW BANJIE. userid

小例子:

select top 10 * from sys user where user code not in (select user code from sys user where user

code like

select top 2 * from (select top 2 * from td. users order by us. username desc) users order by us

username desc

页脚

7、删除约束语句:

alter table dbo. XZFW_SYS_USER

8、 记录数查询

select count(user pass) from sys user

select count(♦) from sys user where user .code! =

r

admin

1

9. 在围之间取值(between・・・and ••用法)

select sys___id, sys_ name, xzfw shoujian. caseid from sys user inner join

xzfw shoujian on sys^user・user id=xzfw where user id between 5 and 100

或 select * from sys user where user id<10 and user id>l

二、SQL基本语句

drop CONSTRAINT FK1772E1891324F678

下列语句部分是Mssql语句,不可以在access中使用。

SQL分类:

DDL—数据定义语言(Create, Alter, Drop, DECLARE)

DML—数据操纵语言(Select, Delete, Update, Insert)

DCL—数据控制语言(GRANT, REVOKE, COMMIT, ROLLBACK)

首先,简要介绍基础语句:

1、 说明:创建数据库

Create DATABASE database-name

2、 说明:删除数据库

drop database dbname

3、 说明:备份sql server

-- 创建备份数据的device

USE master

EXEC sp addumpdevice 'disk',

r

testBack

1

.

1

c:mssq17backupMyNwi nd L dat

r

—开始备份

BACKUP DATABASE pubs TO testBack

4、 说明:创建新表

create table tabname (col 1 typel [not null] [prinuiry key]. col2 type2 [not nul 1].・・) 根据已有的表创

建新表:

A: create table tab new 1 ike tab_old (使用旧表创建新表)

B: create table tab new as select 2…from tab _old definition only

5、 说明:删除新表 drop table tabname

页脚