sql怎么写代码
1. sql代码,怎么写啊
(6)select count(*) as cc from( select 读者号, count(*) as c from 借阅 where 还期 is null group by 读者号) where c >3;
(7)
select 读者号,姓名 from 读者 where 读者号 in(
select 读者号 from 借阅 where 图书号 not in
(
select 图书号 from 借阅 where 读者号 =(select 读者号 from 读者 where 姓名 = '李林')
)
);
(8) select 图书号,书名 from 图书 where 书名 like N'%Oracle%' ;
2. 【请教一个sql语句的写法请教一个sql语句的写法一个表,三个字段
update test a set a.code=(select code from test b where a.name=b.name) where account='02' Oracle的 SQL SERVER试一下这个,刚刚在网上查的语句,也不知道对不对,你测试一下吧update a set a.code=b.code from a join b on a.name=b.name where account='02' 是一个表呀,SQL SERVER用as来做表别名,这样一个表就有两个身份了,就可以连接了update a set a.code=b.code from a join a as b on a.name=b.name and a.account='01' and b.account='02' where account='02'最新查到,SQL SERVER可以用别名。
3. 用SQL写以下要求的代码
先创建表create table tb(联系电话 varchar(20),身份证号 varchar(20) PRIMARY key)然后插入数据时加入判断条件declare @a varchar(20),@b varchar(20)select @a='010-2893292',@b='338393030303030393'select @a=case when left(@a,1)='1' and substring(@a,1,1) in('3','5','8') and len(@a)=11 then @awhen charindex('-',@a) in(4,5) and len(@a)-charindex('-',@a) in(7,8) then @aelse '不符合输入条件!' end--print @aselect @b=case when len(@b)=18 and left(@b,1)<>'0' and (ISNUMERIC(right(@b,1))>0 or right(@b,1)='X') then @belse '不符合输入条件!' end--print @binsert into tb select @a,@b where @a<>'不符合输入条件!' and @b<>'不符合输入条件!' and (select count(*) from tb where 身份证号=@b)=0。
4. 谁能告诉我这段SQL的代码怎么写,谢谢
第四题:select s.Sno,s.Sname,s.Sdept
from student s,(select w.Sno Sno,sum(c.Ccredit) total from course c,sc w
where c.Cno=w.Cno group by w.sno having sum(c.Ccredit)>6) d
where s.Sno=d.Sno
第五题:select d.Sno,c.Cname
from sc w,course c,(select Sno,avg(Grade) from sc group by Sno having avg(Grade)>80) d
where w.Sno=d.Sno and c.Cno=w.Cno
转换的方法会吧?!用Cast( 字段 as int)就可以了;SQL为: select s.Sno,s.Sname,s.Sdept from student s,(select w.Sno Sno,sum(Cast(c.Ccredit as int)) total from course c,sc w where c.Cno=w.Cno group by w.sno having sum(c.Ccredit)>6) d where s.Sno=d.Sno having子句的sum(c.Ccredit)也要转换
5. 设计SQL数据库要写代码吗
1.设计阶段一般不用写代码,有的时候用一些数据库设计软件可能会自动生成建表的代码2.除了表间关系和应用与前台功能的需求,你还需要考虑表的设计是否满足项目本身的需要.3.考虑表的内部结构设计,比如字段类型,索引的建立(多数情况下其实是不需要建索引的)等等4.考虑到项目未来可能出现的问题而设计数据库,比如:某一个表在将来可能会累积到上百万行的数据,这里就会在空间和运行时间上存在隐患,所以,要根据这点来提前确定上面第3点中提到的,字段类型和索引等问题,也可以考虑是否定期把表中的比较旧的数据存放到一个其他的数据库中等等这样的事。
6. SQL约束语句怎么写有四种求代码
1 PRIMARY KEY约束
例如,下面的SQL语句创建一个名为student的表,其中指定student_number为主键:
USE test
GO
CREATE TABLE student
(sutdent_number int PRIMARY KEY,
student_name char(30))
GO
2 FOREIGN KEY约束
例如,下面就是一个使用FOREIGN KEY约束的例子:
CREATE TABLE product
(product_number int,
student_number int
FOREIGN KEY REFERENCES student(student_number)
ON DELETE NO ACTION)
GO
3 UNIQUE约束
例如,下面的SQL语句创建了一个test2表,其中指定了c1字段不能包含重复的值:
USE test
GO
CREATE TABLE test2
(c1 int UNIQUE,
c2 int)
GO
INSERT test2 VALUES(1,100)
GO
如果再插入一行:
INSERT test2 VALUES(1,200)
4 CHECK约束
例如,下面的SQL语句创建一个成绩(score)表,其中使用CHECK约束来限定成绩只能在0~100分之间:
CREATE TABLE score
(sutdent_number int,
score int NOT NULL CHECK(score>=0 AND score
sql怎么写语句
1. SQL语句该怎么写
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
查询所有同学均及格的课程名
select cname from Course
where NOT EXISTS(
select * from Student
where NOT EXISTS(
select * from SC
where sno=Student.sno
and cno=Course.cno
and score>=60
)
)
查询所有同学均及格的课程的最低成绩、最高成绩和平均成绩:
select cno,min(score),max(score),avg(score) from sc
where con in( select cno from Course
where NOT EXISTS(
select * from Student
where NOT EXISTS(
select * from SC
where sno=Student.sno
and cno=Course.cno
and score>=60
)
)
)
group by con
2. sql语句怎么写
你可以参照下面的来动态写SQL语句
假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 李四 74 84 94张三 74 83 93create table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)insert into tb values('张三' , '语文' , 74)insert into tb values('张三' , '数学' , 83)insert into tb values('张三' , '物理' , 93)insert into tb values('李四' , '语文' , 74)insert into tb values('李四' , '数学' , 84)insert into tb values('李四' , '物理' , 94)go--SQL SERVER 2005 静态SQL的写法
select * from (select * from tb) a pivot (max(分数) for 课程 in (语文,数学,物理)) b--SQL SERVER 2005 动态SQL。declare @sql varchar(8000)select @sql = isnull(@sql + '],[' , '') + 课程 from tb group by 课程set @sql = '[' + @sql + ']'exec ('select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b')
3. SQL语句怎么写
select * from b where b.id not in (select id from a);
select b.* from a,b
minus
select a.t_id from a,b
where a.t_id = b.t_id;
select * from b where not exists (select 1 from a where a.t_id = b.t_id);
以上三种都可以的
4. SQL语句怎么写
分析:先在table1里计算A类货品的总进货量,sum(批次进货量) select sum(批次进货量) as 'A类进货量' from table 1 where 类别='A' 然后再table2里计算A类货品的总出货量,sum(批次出货量) select sum(批次出货量) as 'A类出货量' from table 2 where 类别='A' 这样库存=sum(批次进货量)-sum(批次出货量) sql语句: declare @sum_in @int,@sum_out @int,@sum_now intselect @sum_in=sum(批次进货量) as 'A类进货量' from table 1 where 类别='A'select @sum_out=sum(批次出货量) as 'A类出货量' from table 2 where 类别='A'select @sum_now=@sum_in-@sum_out as 'A类库存'合成: select A类库存 from ((select sum(批次进货量) from table1 where 类别='A')-(select sum(批次出货量) from table2 where 类别='A') as 'A类库存')这样就完成了,原理如是,不保证可直接运行成功。
同理,B类货品也可按此步骤进行计算 改进:将分析语句写成存储过程。也可将分析步骤写成VIEW。
另外进货出货需要频繁修改库存,可使用触发器。 经验:此类实际问题表的设计不是很合理。
由于库存信息频繁的被用到,库存又属于派生类属性,所以有必要牺牲数据冗余,直接将库存作为表的一个列名。用的时候直接选取数据信息。
5. 怎么写sql 语句
create table nuwTable as select stuName,stuNo,writtenExam,labExam,isPass from oldTable;
你的题目表达的太不清楚了 。
假如要提分 :你update from newTable set isPass=1 where writtenExam+labExam>;分数;
显示总共人数:select count(1) from newTable;
显示通过人数:select count(1) from newTable where isPass=1;
6. 创建数据库的sql语句怎么写
最简单的语句如下:
USE master
GO
CREATE DATABASE 数据库名
ON
( NAME = prods_dat,
FILENAME = 'c:\program files\microsoft sql server\mssql\data\数据库名.mdf',
SIZE = 4,
MAXSIZE = 10,
FILEGROWTH = 1 )
GO
7. 请教个SQL语句怎么写.
下面的几条语句完成向A表插入10000条C=1,D=2,E=3的记录:
DECLARE @C INT,@D INT,@E INT,@COUNT INT
SELECT @C=1,@D=2,@E=3,@COUNT=10000
WHILE @COUNT>0
BEGIN
insert into A表(C,D,E) VALUES(@C,@D,@E)
SET @COUNT=@COUNT-1
END
8. 这个sql语句怎么写
无论是在sql 2000,还是在 sql 2005 中,都没有提供字符串的聚合函数, 所以,当我们在处理下列要求时,会比较麻烦:有表tb, 如下:id value----- ------1 aa1 bb2 aaa2 bbb2 ccc需要得到结果:id values------ -----------1 aa,bb2 aaa,bbb,ccc即, group by id, 求 value 的和(字符串相加) 1. 旧的解决方法 -- 1. 创建处理函数CREATE FUNCTION dbo.f_str(@id int)RETURNS varchar(8000)ASBEGIN DECLARE @r varchar(8000) SET @r = '' SELECT @r = @r + ',' + value FROM tb WHERE id=@id RETURN STUFF(@r, 1, 1, '')ENDGO-- 调用函数 SELECt id, values=dbo.f_str(id) FROM tb GROUP BY id -- 2. 新的解决方法 -- 示例数据DECLARE @t TABLE(id int, value varchar(10))INSERT @t SELECT 1, 'aa'UNION ALL SELECT 1, 'bb'UNION ALL SELECT 2, 'aaa'UNION ALL SELECT 2, 'bbb'UNION ALL SELECT 2, 'ccc' -- 查询处理SELECT *FROM( SELECT DISTINCT id FROM @t)AOUTER APPLY( SELECT [values]= STUFF(REPLACE(REPLACE( ( SELECT value FROM @t N WHERE id = A.id FOR XML AUTO ), '
--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',1UNION ALL SELECT 'a',2UNION ALL SELECT 'b',1UNION ALL SELECT 'b',2UNION ALL SELECT 'b',3 --合并处理--定义结果集表变量DECLARE @t TABLE(col1 varchar(10),col2 varchar(100)) --定义游标并进行合并处理DECLARE tb CURSOR LOCALFORSELECT col1,col2 FROM tb ORDER BY col1,col2DECLARE @col1_old varchar(10),@col1 varchar(10),@col2 int,@s varchar(100)OPEN tbFETCH tb INTO @col1,@col2SELECT @col1_old=@col1,@s=''WHILE @@FETCH_STATUS=0BEGIN IF @col1=@col1_old SELECT @s=@s+','+CAST(@col2 as varchar) ELSE BEGIN INSERT @t VALUES(@col1_old,STUFF(@s,1,1,'')) SELECT @s=','+CAST(@col2 as varchar),@col1_old=@col1 END FETCH tb INTO @col1,@col2ENDINSERT @t VALUES(@col1_old,STUFF(@s,1,1,''))CLOSE tbDEALLOCATE tb--显示结果并删除测试数据SELECT * FROM @tDROP TABLE tb/*--结果col1 col2---------- -----------a 1,2b 1,2,3--*/GO /*==============================================*/ --3.3.2 使用用户定义函数,配合SELECT处理完成字符串合并处理的示例--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',1UNION ALL SELECT 'a',2UNION ALL SELECT 'b',1UNION ALL SELECT 'b',2UNION ALL SELECT 'b',3GO --合并处理函数CREATE FUNCTION dbo.f_str(@col1 varchar(10))RETURNS varchar(100)ASBEGIN DECLARE @re varchar(100) SET @re='' SELECT @re=@re+','+CAST(col2 as varchar) FROM tb WHERE col1=@col1 RETURN(STUFF(@re,1,1,''))ENDGO --调用函数SELECT col1,col2=dbo.f_str(col1) FROM tb GROUP BY col1--删除测试DROP TABLE tbDROP FUNCTION f_str/*--结果col1 col2---------- -----------a 1,2b 1,2,3--*/GO /*==============================================*/ --3.3.3 使用临时表实现字符串合并处理的示例--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)。
转载请注明出处育才学习网 » 删除年龄最大的sql怎么写
育才学习网