首页 > 新闻

SQL

时间:2009-12-08 07:06:34  作者:  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
方法很多 但是不一定需要建立实际的视图才能实现。最简单(固然也有确定,因为这样的SQL语句写起来比较麻烦)的方法,直接写SQL语句。这个语句因该属于多表查询。例如你......

方法很多 但是不一定需要建立实际的视图才能实现。
最简单(固然也有确定,因为这样的SQL语句写起来比较麻烦)的方法,直接写SQL语句。这个语句因该属于多表查询。例如你说的 两个表中ID表示的意义是相同的 那么就可以写
select 表1.字段1, 表1.字段2, 表2.字段1, 表2.字段2 from 表1,表2
where 表1.id=表2.id
或者
select 表1.字段1, 表1.字段2, 表2.字段1, 表2.字段2 from 表1 inner join 表2 on 表1.id=表2.id

例:

set rs=conn.execute("select * from name,sex where name.id=sex.uid")


前者sql语句比较好理解,但是使范围小,不支持左连接和右连接,后者则都支持。
当然建立视图也是可以,具体方法视你的数据库而定,SQL的话在企业管理器里添加视图就可以,或者用数据操作语言。ACCESS则在查询栏目里新建。使用建立好的视图和使用表想同,只需要把它在SQL语句中的名称写对。


select a.id,a.softname,a.downurl,a.urlsay,a.softsize,a.codeshow,a.abouturl,a.images,a.sq,a.lang,a.tj,a.jp,a.jb,a.note,a.hits,a.yxhj,a.grade,a.addtime,a.classid,a.nclassid,nclass=b.nclass from download as a inner join nclass as b on a.nclassid=b.nclassid where a.nclassid='2' order by a.addtime Desc


所谓多表查询是相对单表而言的,指从多个数据表中查询数据,这里我们主要学习从两个数据表中如何查询数据的方法。

1. 无条件多表查询
无条件多表查询是将各表的记录以“笛卡尔”积的方式组合起来。
如scott.dept表共有4条记录,scott.emp表共有14条记录,其“笛卡尔”积将有4*14=56条记录。
在【命令编辑区】执行下列语句。
――――――――――――――――――――――――――――――――――――――
select emp.empno,emp.ename,emp.deptno,dept.dname,dept.loc from scott.emp,scott.dept; ――――――――――――――――――――――――――――――――――――――
2. 等值多表查询
在【命令编辑区】执行下列语句。
―――――――――――――――――――――――――――――――――――――
select emp.empno, emp.ename, emp.deptno, dept.dname,dept.loc from scott.emp,scott.dept where scott.emp.deptno=scott.dept.deptno;
―――――――――――――――――――――――――――――――――――――

如果您需转载 SQL,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门