在返回插入到表的 @@IDENTITY 列的最后一個(gè)值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函數類(lèi)似。
@@IDENTITY 和 SCOPE_IDENTITY 將返回在當前會(huì )話(huà)的所有表中生成的最后一個(gè)標識值。但是,SCOPE_IDENTITY 只在當前作用域內返回值,而 @@IDENTITY 不限于特定的作用域。
2、去掉重得記錄 你的表中有唯一的ID嗎? 如果有就可以這樣實(shí)現。 select * from 表 where id in (select min(id) from 表 group by titlename) 這樣就可以實(shí)現了?。?! 3、查詢(xún)數據庫中的隨機有限條記錄 隨機取5個(gè): access: sql: 一 、表結構定義:CREATE TABLE student(sno C(8),sname C(10),birthday D,age I,merried L) 2.表結構修改: 增加字段:ALTER TABLE student ADD COLUMN telphone C(20) 修改字段類(lèi)型:ALTER TABLE student ALTER COLUMN name c(20) 3.創(chuàng )建視圖:CREATE VIEW s_view AS SELECT student.sno,sname,cname,grade FROM student,sc,course WHERE student.sno=sc.sno AND sc.cno=course.cno 二、數據操縱(p70) 1.數據插入:INSERT INTO student(sno,sname,sex,age) VALUES(‘S01’,’張三’,’男’,20) 2.數據刪除:DELETE FROM student WHERE sex=’男’ 3.數據修改:UPDATE student SET age=21 WHERE sno=’S01’ 三、權限與角色 授予GRANT,收回REVOKE 四、查詢(xún) 連表、選取、投影 集函數:MIN、MAX、AVG、SUM、COUNT 分組GROUP BY 分組條件HAVING 子查詢(xún):普通子查詢(xún)、相關(guān)子查詢(xún) 五、例子 1.查詢(xún)成績(jì)在85分以上的學(xué)生的學(xué)號和姓名 SELECT 學(xué)號,姓名 FROM student WHERE 學(xué)號 NOT IN(SELECT 學(xué)號 FROM sc WHERE 成績(jì)<85) 2.查詢(xún)成績(jì)最高的學(xué)生 SELECT * FROM student WHERE 成績(jì)>=ALL(SELECT 成績(jì) FROM sc) 或 SELECT * FROM student WHERE 成績(jì)=ALL(SELECT MAX(成績(jì)) FROM sc) 3.查詢(xún)同時(shí)向工程號為J1和J2的工程提供零件的供應商號 SELECT DISTINCT 供應商號 FROM SPJ WHERE 工程號=’J1’ AND 供應商號 IN (SELECT 供應商號 FROM SPJ WHERE 工程號=’J2’) 4.檢索至少選修了學(xué)號是S3的學(xué)生選修的全部課程相同的學(xué)生學(xué)號和姓名 SELECT 學(xué)號,姓名 FROM student WHERE NOT EXISTS (SELECT * FROM sc scx WHERE scx.學(xué)號=’S3’ AND NOT EXISTS (SELECT * FROM sc scy WHERE scy.學(xué)號=student.學(xué)號 AND scy.課程號=scx.課程號))
SELECT TOP 5 * FROM tablename ORDER BY rnd(id)
SELECT TOP 5 * FROM tablename ORDER BY newid()
4、
你的表中有唯一的ID嗎?
如果有就可以這樣實(shí)現。
select * from 表 where id in (select min(id) from 表 group by titlename)
這樣就可以實(shí)現了?。?!
3、查詢(xún)數據庫中的隨機有限條記錄
隨機取5個(gè):
access:
SELECT TOP 5 * FROM tablename ORDER BY rnd(id)
sql:
SELECT TOP 5 * FROM tablename ORDER BY newid()
4、
一 、表結構定義:CREATE TABLE student(sno C(8),sname C(10),birthday D,age I,merried L)
2.表結構修改:
增加字段:ALTER TABLE student ADD COLUMN telphone C(20)
修改字段類(lèi)型:ALTER TABLE student ALTER COLUMN name c(20)
3.創(chuàng )建視圖:CREATE VIEW s_view AS SELECT student.sno,sname,cname,grade FROM student,sc,course
WHERE student.sno=sc.sno AND sc.cno=course.cno
二、數據操縱(p70)
1.數據插入:INSERT INTO student(sno,sname,sex,age) VALUES(‘S01’,’張三’,’男’,20)
2.數據刪除:DELETE FROM student WHERE sex=’男’
3.數據修改:UPDATE student SET age=21 WHERE sno=’S01’
三、權限與角色
授予GRANT,收回REVOKE
四、查詢(xún)
連表、選取、投影
集函數:MIN、MAX、AVG、SUM、COUNT
分組GROUP BY 分組條件HAVING
子查詢(xún):普通子查詢(xún)、相關(guān)子查詢(xún)
五、例子
1.查詢(xún)成績(jì)在85分以上的學(xué)生的學(xué)號和姓名
SELECT 學(xué)號,姓名 FROM student WHERE 學(xué)號 NOT IN(SELECT 學(xué)號 FROM sc WHERE 成績(jì)<85)
2.查詢(xún)成績(jì)最高的學(xué)生
SELECT * FROM student WHERE 成績(jì)>=ALL(SELECT 成績(jì) FROM sc)
或 SELECT * FROM student WHERE 成績(jì)=ALL(SELECT MAX(成績(jì)) FROM sc)
3.查詢(xún)同時(shí)向工程號為J1和J2的工程提供零件的供應商號
SELECT DISTINCT 供應商號 FROM SPJ
WHERE 工程號=’J1’ AND 供應商號 IN
(SELECT 供應商號 FROM SPJ WHERE 工程號=’J2’)
4.檢索至少選修了學(xué)號是S3的學(xué)生選修的全部課程相同的學(xué)生學(xué)號和姓名
SELECT 學(xué)號,姓名 FROM student
WHERE NOT EXISTS
(SELECT * FROM sc scx
WHERE scx.學(xué)號=’S3’ AND NOT EXISTS
(SELECT * FROM sc scy
WHERE scy.學(xué)號=student.學(xué)號 AND scy.課程號=scx.課程號))
IDENT_CURRENT 不受作用域和會(huì )話(huà)的限制,而受限于指定的表。IDENT_CURRENT 返回任何會(huì )話(huà)和任何作用域中為特定表生成的標識值。
聯(lián)系客服