问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于SQL的几个问题

发布网友 发布时间:2022-04-13 04:59

我来回答

6个回答

懂视网 时间:2022-04-13 09:20

一、 数字辅助表

数字辅助表是一个只包含从1到N的N个整数的简单表,N通常很大。数字辅助表是一个非常强大的工具,所以我们创建一个持久的数字辅助表:

CREATETABLENums( a INTUNSIGNED NOTNULLPRIMARYKRY
 )ENGINE=InnoDB; 
CREATEPRODURE CreateNums (t INTUNSIGNED ) BEGIN DECLAREs INTUNSIGNED DEFAULT1; TRUNCATETABLENums; INSERTINTONums SELECTs; WHILE s*2 <= t DO   
BEGIN INSERTINTONums SELECTa+s FROMNums; SETs = s*2 END; ENDWHILE; END;

二 、连续范围

CREATETABLEt (a INTUNSIGNED NOTNULLPRIMARYKEY); INSERTINTOt VALUES(1); INSERTINTOt VALUES(2); INSERTINTOt VALUES(3); INSERTINTOt VALUES(100); 
INSERTINTOt VALUES(101); INSERTINTOt VALUES(103); INSERTINTOt VALUES(104); INSERTINTOt VALUES(105);


如何得到下面的输出结果呢?

2324.jpg

SELECTMIN(a) start,MAX(a) endFROM( SELECTa,rn,a-rn ASdiff FROM(SELECTa,@a:=@a+1 rn FROMt,(SELECT@a:=0) ASa) ASb )ASc GROUPBYdiff;


三 、 最小缺失值

点击(此处)折叠或打开

CREATETABLEx( a INTUNSIGNED PRIMARYKEY, b CHAR(1) NOTNULL )ENGINE = InnoDB; 
INSERTINTOx SELECT3,'a'; INSERTINTOx SELECT4,'b'; INSERTINTOx SELECT6,'c'; INSERTINTOx SELECT7,'d';


注意a列必须是一个正整数,所以这里的类型为INT UNSGINED。最小缺失值的问题是,假设列a从1开始,对于当前表中的数据3、4、6、7,查询应返回1。如果当前表的数据为1、2、3、4、6、7,则返回5。

解决方案如下:

SELECT
CASE
WHENNOTEXISTS (SELECTa FROMx WHEREa=1)THEN1
ELSE (SELECTMIN(a)+1 ASmissing FROMx ASA
WHERENOTEXISTS (SELECT* FROMx ASB
WHEREA.a+1=B.a)) ENDASmissing;

运行上面的SQL,得到结果为1,若向a列插入1,2后得到的结果为5。

若要对最小缺失值进行补缺操作,解决方案如下:

INSERTINTOx SELECT
CASE
WHENNOTEXISTS (SELECTa FROMx WHEREa=1)THEN1
ELSE (SELECTMIN(a)+1 ASmissing FROMx ASA
WHERENOTEXISTS (SELECT* FROMx ASB
WHEREA.a+1=B.a)) ENDASmissing, 'p';

运行上面的SQL,我们将会在a列插入5,b列插入'p'。

四、 获取行号

行号是指按顺序为查询结果集的行分配的连续整数。

CREATETABLEsales ( empid varchar(10) NOTNULL, mgrid varchar(10) NOTNULL, qty` int(11) NOTNULL,
 PRIMARYKEY(empid)
);
 
INSER INTOsalses VALUES('A',Z',300);
INSER INTO salses VALUES('B',X',100);
INSER INTOsalses VALUES('C',Y',100);
INSER INTO salses VALUES('D',Z',300);
INSER INTOsalses VALUES('E',X',200);
INSER INTO salses VALUES('F',Z',100);

现在我们根据empid进行行号统计

SELECTempid, (SELECTCOUNT(*) FROMsales AST2
WHERET2.empid <= T1.empid) ASrownum FROMsales AST1;

热心网友 时间:2022-04-13 06:28

1。SELECT student.Sname,course.Cname FROM student,course,SC WHERE student.Sno=SC.Sno AND course.Cno=SC.Cno;

2。?

3。和1一样;

4。SELECT Sname FROM student WHERE Sdept=(SELECT Sdept FROM student WHERE Sname='张三');

5。SELECT strudent.Sname FROM student,SC WHERE student.Sno=SC.Sno AND SC.Cno=1;

6。SELECT strudent.Sname FROM student,SC WHERE student.Sno=SC.Sno AND student.Ssex='女' AND Cno IN(SELECT Cno FROM course WHERE Teacher='LIU');

7。SELECT Cno FROM course WHERE Cno NOT IN(SELECT SC.Cno FROM student,SC WHERE student.Sno=SC.Sno AND Sname='WANG');

8。SELECT Cno FROM SC GROUP BY Cno Having COUNT(Sno)=(SELECT COUNT(Sno) FROM student);

9。SELECT AVG(Grade),Cno FROM SC WHERE Cno in (SELECT Cno From course where Teacher='LIU') GROUP BY Cno;

10。SELECT Sno FROM SC WHERE Cno IN(SELECT Cno FROM SC WHERE Sno=95002) GROUP BY Sno HAVING COUNT(Cno)=(SELECT COUNT(Cno) FROM SC WHERE Sno=95002);

是我自己编的 不保证答案正确,互相学习!!
如果答案错误发消息给我!!
谢谢

热心网友 时间:2022-04-13 07:46

都很简单啊,建议你学好数据库基础再从是数据库编程工作。
这些题的答案在清华的数据库习题集上都有。
时间关系,先不予解答了。

热心网友 时间:2022-04-13 09:21

1
B
2
BY
均分
desc
3
域用户验证
域内用户验证
用户权限
增删改查

热心网友 时间:2022-04-13 11:12

1.B
2.伙计你表的列名不给我怎么给你答?

热心网友 时间:2022-04-13 13:20

C。用SQL语句编程,系统自动执行的数据库结果应该是视图展示的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怀孕四个月补钙可以吗 孕妇吃什么时候钙片好 孕妇吃什么钙片最好 怀孕补钙是必须的吗?孕妇钙片品牌哪个好? ...在长高的黄金发育时期,会影响容貌五官的变化吗,不仅没有发育到变... 冬至吃饺子的诗词 立冬吃饺子的暖心诗词 宁波全封闭学校有哪些 宁波市北仑区小港镇会计学校在那? 或红联镇也可以 江南教育集团小港中心幼儿园园况介绍 红联哪里有报暑假班 煲汤时煲久了没有多少水了可不可以加水 煲汤时加热水还是凉水 、煲骨头汤时,中途能不能加冷水? 关于P2P限速问题。。 p2p怎么设置限速? 炖汤中途能加水吗 煲汤过程中是否可以加水? 电脑被P2P限速的问题 煲汤时中途加水有什么弊端 煲汤时水干了,可以半路加水吗? P2P网络限速 网络被p2p限制怎么办? 熬骨头汤的时候可以中途加水吗? p2p 限速 浦发信用卡免费送无线上网卡的电话访问 浦发信用卡送的10元淘宝上退货了能退么 关于P2P限速问题. orz 在线等待解答. 北京,浦发信用卡,刷满4000送苏泊尔锅。这个锅是刷满额自动给还是要去申请? 浦发信用卡有一个小浦福利袋怎么取消? p2p终结者全局限速模式什么意思?该设置多少?还有... 梅多克中级兰迪城堡红酒怎么样 梅多克红酒berson 求酒神帮我鉴定两瓶梅多克红酒,看看品质,价格,值不值得送人。都是2010年的 拉菲有生产“法国拉菲传奇梅多克葡萄酒”这款酒吗? 红酒上梅多克和梅多克 哪个产区好? 2013年的梅多克 路易埃施诺尔酒庄的梅多克 红酒多少钱 2009年份的梅多克红酒什么价位 法国上梅多克的佳德美红酒怎么样aoc级的 法国玛乐事庄园梅多克干红酒 法国波尔多梅多克菩依乐红酒哪个品牌最好? cos是什么边比什么边图解 谁知道cos、sin、tan是什么比什么? cos角是什么边比什么边来着?tan呢?cot又是? sincostan是什么比什么 dnf驭剑士怎样加刷图技能点? DNF驭剑士刷图PK加点详细分解 求dnf女鬼剑士驭剑士纯刷图加点!!! 国服驭剑士刷图加点 dnf85版本驭剑士刷图加点和武器选择 国家一级出版社有哪些