本文与大家共同讨论与分享ORACLE SQL的一些常用经典查询,欢迎大家补充,同时你认为有那些经典的也可分享出来。在本文中,对每一个问题,你要是认为有什么更好的解决方法也欢迎你及时提出。交流与分享才能共同进步嘛,感谢!
本篇相对上篇来说比较简单,如果你对本篇的各测试做得不称心如意的话,我想你是时候给自己充下电了!
本文使用的实例表结构与表的数据如下:
scott.emp员工表结构如下:
scott.dept部门表
scott.emp表的现有数据如下:
Scott.dept表的现有数据如下:
用SQL完成以下问题列表:
列出当前用户有多少张数据表,结果集中存在多少条记录。
各试题解答如下(欢迎大家指出不同的方法或建议!):
#p#
原文链接:
【编辑推荐】
sql简单查询条件怎么写
1、如果a是唯一的Select a,b,c from 表A where a not in(select a from 表A where (b=0 and c=0));2、如果b,c可以控制到都大于0的话。 Select a,b,c from 表A where b+c > 0;第二种方法比第一种快。
SQL查询语句
select top 5 * from product order by 主键 desc;
这样就行了
五条倒序..
SQL语句完成以下查询,急了~~~
答案来啦!~~!一定要采纳!
(1) CREATE TABLE 职工 (
职工号 CHAR(8) PRIMARY KEY,
姓名 CHAR (8) NOT NULL,
年龄 SMALLINT,
性别 CHAR (2),
CONSTRAINT C1 CHECK (性别 IN (男, 女)))
CREATE TABLE 社会团体 (
编号 CHAR(8) PRIMARY KEY,
名称 CHAR(8) NOT NULL,
负责人 CHAR(8),
活动地点 VARCHAR(50),
CONSTRAINT C2 FOREIGN KEY(负责人) REFERENCES 职工(职工号))
CREATE TABLE 参与 (
职工号 CHAR(8),
编号 CHAR(8),
CONSTRAINT C3 PRIMARY KEY(职工号,编号),
CONSTRAINT C4 FOREIGN KEY (职工号) REFERENCES 职工(职工号))
(2) CREATE VIEW 社团负责人(编号, 名称, 负责人职工号, 负责人姓名, 负责人性别)
AS SELECT 编号, 名称, 负责人, 姓名, 性别
FROM 社会团体, 职工
WHERE 社会团体.负责人=职工.职工号
FROM 职工, 社会团体, 参与
WHERE 职工.职工号=参与.职工号 AND 参与.编号=社会团体.编号
(3) SELECT DISTINCT 职工.职工号, 姓名
FROM 职工, 社会团体, 参与
WHERE 职工.职工号=参与.职工号 AND 参与.编号=社会团体.编号
AND 社会团体.名称 IN(羽毛球队,秧歌队,冬泳队)
(4) SELECT 职工号, 姓名
FROM 职工
WHERE 职工号 IN
(SELECT 职工号
FROM 参与
WHERE 编号 IN
(SELECT 编号
FROM 社会团体
WHERE 名称=冬泳队))
AND 年龄>50
(5) SELECT 编号, 名称
FROM 社会团体
WHERE 负责人 IS NULL
(6) SELECT *
FROM 职工
WHERE NOT EXISTS (
FROM 参与
WHERE 参与.职工号=职工.职工号)
(7) SELECT AVG(年龄)
FROM 职工
WHERE 姓名 LIKE 李% AND 性别=男 AND EXISTS (
FROM 参与
WHERE 参与.职工号=职工.职工号)
(8) SELECT *
FROM 职工 AS E1
WHERE E1.姓名<>肖波 AND EXISTS
(SELECT J1.编号
FROM 参与 AS J1
WHERE J1.职工号=E1.职工号 AND J1.编号 = ANY
(SELECT J2.编号
FROM 职工 AS E2, 参与 AS J2
WHERE E2.职工号=J2.职工号 AND E2.姓名=肖波))
(9) SELECT *
FROM 职工
WHERE ((年龄 BETWEEN 45 AND 55) AND 性别=女) OR
((年龄 BETWEEN 50 AND 60) AND 性别=男)
(10) SELECT *
FROM 职工
WHERE NOT EXISTS (
FROM 参与
WHERE NOT EXISTS (
FROM 社会团体
WHERE 参与.职工号=职工.职工号 AND 参与.编号=社会团体.编号))
(11) SELECT 职工号
FROM 职工
WHERE NOT EXISTS (
FROM 参与 AS 参与1
WHERE 参与1.职工号=0001 AND NOT EXISTS(
FROM 参与 AS 参与2
WHERE 参与2.编号=参与1.编号 AND参与2.职工号=职工.职工号))
(12) SELECT 姓名
FROM 职工
WHERE 年龄>(
SELECT 年龄
FROM 职工, 社会团体
WHERE 社会团体.负责人=职工.职工号 AND 社会团体.名称=秧歌队)
(13) SELECT 姓名
FROM 职工
WHERE 年龄>ALL(
SELECT 年龄
FROM 职工, 社会团体,参与
WHERE 社会团体.编号=参与.编号 AND 职工.职工号=参与.职工号

AND 社会团体.名称=秧歌队)
(14) SELECT 社会团体.名称 ,COUNT(参与.职工号)
FROM 社会团体,参与
WHERE 社会团体.编号=参与.编号
GROUP BY 参与.编号,社会团体.名称
(15) SELECT 社会团体.名称, COUNT(参与.职工号)
FROM 社会团体, 参与
WHERE 社会团体.编号=参与.编号
GROUP BY 参与.编号,社会团体.名称
HAVING COUNT(参与.职工号)<=ALL (
SELECT COUNT(参与.职工号)
FROM 参与
GROUP BY 参与.编号)
(16) SELECT 社会团体.名称, 职工.姓名
FROM 职工, 社会团体, 参与
WHERE 社会团体.编号=参与.编号
AND 社会团体.负责人=职工.职工号
GROUP BY 参与.编号,社会团体.名称, 职工.姓名
HAVING COUNT(参与.编号)>20
发表评论