oracle多表查询留言人(日志人、日志内容、日志留言人)
题意介绍:
有三张表分别是
用户表、aw_usercotrl
日志表、aw_userlog
留言表、aw_userlog_lword
用户表分别是日志表与留言表的外键
日志表又是留言表的外键
表结构
--aw_usercotrl
SQL> desc aw_usercotrl;Name Type Nullable Default Comments --------- ------------ -------- ------- -------- AWUID NUMBER(10) AWUNAME VARCHAR2(20) AWUPASSWD VARCHAR2(20) AWUHID NUMBER(10) Y AWUNO NUMBER(10)
--aw_userlog
SQL> desc aw_userlog;Name Type Nullable Default Comments -------- ------------- -------- ------- -------- AULID NUMBER(10) AULHEAD VARCHAR2(40) AULTEXT VARCHAR2(200) AULTDATE DATE AWUID NUMBER(10) Y
--aw_userlog_lword
SQL> desc aw_userlog_lword;Name Type Nullable Default Comments -------- ------------- -------- ------- -------- AULID NUMBER(10) FKAULID NUMBER(10) Y AULWORD VARCHAR2(100) FK_AWUID NUMBER(10) Y
表信息
SQL> select * from aw_usercotrl; AWUID AWUNAME AWUPASSWD AWUHID AWUNO----------- -------------------- -------------------- ----------- ----------- 1 付政委 123 1 193094104 2 奥巴马 123 1 193094103 3 小布什 123 1 193094102 4 萨达姆 123 1 193094101 SQL> select * from aw_userlog; AULID AULHEAD AULTEXT AULTDATE AWUID----------- ---------------------------------------- -------------------------------------------- ----------- ----------- 1 oracle批量删除和恢复 提出问题:在不写存储过程的情况下drop每次只可以产出一个表 2012-8-22 1 1 2 java内存分析 对于java的内存这个是一个比较有研究性 2012-8-23 2 2 SQL> select * from aw_userlog_lword; AULID FKAULID AULWORD FK_AWUID----------- ----------- -------------------------------------------- ----------- 1 1 这个问题总结的不错,接分啊,楼主 2 2 1 抢个沙发,嘿嘿 1 3 1 我给总结在这里面了http://www.ticmy.com 3 4 2 这个问题确实不好弄啊 4
多表查询,查询出发日志的人,发的日志,评论人
SQL> select a1.awuname,b.aulhead,a2.awuname from aw_usercotrl a1,aw_usercotrl a2,aw_userlog b,aw_userlog_lword c where b.aulid = c.fkaulid and a1.awuid = b.awuid and a2.awuid = c.fk_awuid; AWUNAME AULHEAD AWUNAME-------------------- ---------------------------------------- --------------------付政委 oracle批量删除和恢复 奥巴马付政委 oracle批量删除和恢复 付政委付政委 oracle批量删除和恢复 小布什奥巴马 java内存分析 萨达姆
查询原理
一表用两次,分别和二表,三表连接,然后让二表和三表连接