数据库效率问题

kmlxk0 2007-08-18 10:00:21
1.看到"SQL语句效率"一文中提到 "5. 在判断有无符合条件的记录时建议不要用SELECT COUNT (*)和select top 1 语句" 时 有点不明白
请问应该怎么高效的判断?

2. 想根据id查询名称,是使用 关联查询 还是 JOIN 有效率,
分别怎么写?

3.对于 Access 数据库有什么区别吗?
...全文
249 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fa_ge 2007-08-20
  • 打赏
  • 举报
回复
在判断有无符合条件的记录时
if exists(select 1 from 表名 where ...)
print 'Exists'
else
print 'Not Exists'
luoqun_ncs 2007-08-20
  • 打赏
  • 举报
回复
if exists (select top 1 from ... where...)

这里的top 1可以去掉.
fa_ge 2007-08-20
  • 打赏
  • 举报
回复
3.对于 Access 数据库有什么区别吗?

--------------
有一定的區別,很多用法,函數都與sql不同
fa_ge 2007-08-20
  • 打赏
  • 举报
回复
2. 想根据id查询名称,是使用 关联查询 还是 JOIN 有效率,
分别怎么写?
------------
不是很明白,id,name 在同一個表中,直接寫就好了,如分別在兩 個表中,就用join 連接


zouyx317 2007-08-19
  • 打赏
  • 举报
回复
1. Select top 1是表示只显示满足条件的第一条记录,所以效率很高,编程经常用到,很实用。

if exists (select top 1 from ... where...)
//do 如果存在记录,也就是有返回结果就做什么事
print 'Exists Record !'
else
print 'Not Exists '
2.这个麻,
如果知道ID,那么最好直接用Select name from Tablexx where id=xx
如果用Join,就这么写select t1.name from Table1 t1
inner join table2 t2 on t1.id=t2.xx

3.对于Access 数据库的Sql语言是相通
Sql语法也通用的,这个你不用担心,只是有些函数不同。
OracleRoob 2007-08-18
  • 打赏
  • 举报
回复
1、在判断有无符合条件的记录时
if exists(select top 1 1 from 表名 where ...)
print 'Exists'
else
print 'Not Exists'


2、直接用select 名称 from 表名 where id=100


3、


Access使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大。


JET SQL 帮助(jet4 access2000)下载地址

http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=

comszsoft 2007-08-18
  • 打赏
  • 举报
回复
2. 想根据id查询名称,是使用 关联查询 还是 JOIN 有效率,
分别怎么写?
-- 不太明白你的意思

3.对于 Access 数据库有什么区别吗?
-- 很久没用access了,不过很多语句是一样的,只是有些函数不一样

comszsoft 2007-08-18
  • 打赏
  • 举报
回复
在判断有无符合条件的记录时
if exists(select 1 from tablename where ...)
print 'exists'
esle
print 'not exists'

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧