仓酷云 发表于 2015-1-16 22:20:35

MYSQL网页设计用SQL举行多表查询

不可否认,MySQL也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL显然不具有优势。所谓多表查询是绝对单表而言的,指从多个数据表中查询数据,这里我们次要进修从两个数据表中怎样查询数据的办法。
4.3.1无前提多表查询
无前提多表查询是将各表的纪录以“笛卡尔”积的体例组合起来。
如scott.dept表共有4笔记录,scott.emp表共有14笔记录,其“笛卡尔”积将有4*14=56笔记录。
在【命令编纂区】实行以下语句。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
selectemp.empno,emp.ename,emp.deptno,dept.dname,dept.locfromscott.emp,scott.dept;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
单击【实行】按钮,呈现如.16所示的了局。
【拜见光盘文件】:第4章4.3431.sql。

4.3.2等值多表查询
在【命令编纂区】实行以下语句。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
selectemp.empno,emp.ename,emp.deptno,dept.dname,dept.locfromscott.emp,scott.deptwherescott.emp.deptno=scott.dept.deptno;
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
单击【实行】按钮,呈现如.17所示的了局。
【拜见光盘文件】:第4章4.3432.sql。

等值多表查询将依照等值的前提查询多个数据表中联系关系的数据。请求联系关系的多个数据表的某些字段具有不异的属性,即具有不异的数据范例、宽度和取值局限。
4.3.3非等值多表查询
在【命令编纂区】实行以下语句。
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
selectemp.empno,emp.ename,emp.deptno,dept.dname,dept.locfromscott.emp,scott.deptwherescott.emp.deptno!=scott.dept.deptnoandscott.emp.deptno=10;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
单击【实行】按钮,呈现如.18所示的了局。
【拜见光盘文件】:第4章4.3433.sql。

在非等值多表查询中,读者可使用表4.1所示的对照运算符来组合查询前提。
”由于MySQL已经是一个运行了众多知名Web2.0网站的数据,包括Craigslist、Digg、Wikipedia和Google等,或许我们可以说每一个Web2.0公司实质上是一个使用MySQL数据库的公司。

分手快乐 发表于 2015-1-19 09:06:49

比如日志传送、比如集群。。。

冷月葬花魂 发表于 2015-1-24 12:31:02

发几份SQL课件,以飨阅者

第二个灵魂 发表于 2015-2-1 11:44:21

一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)

再见西城 发表于 2015-2-7 04:33:04

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

兰色精灵 发表于 2015-2-20 13:58:26

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

飘飘悠悠 发表于 2015-3-6 18:00:09

相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐

不帅 发表于 2015-3-13 05:08:37

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
页: [1]
查看完整版本: MYSQL网页设计用SQL举行多表查询