打印本文 打印本文 关闭窗口 关闭窗口
结构化子查询:在mysql4.1中的应用
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2465  更新时间:2009/4/22 20:49:02  文章录入:mintao  责任编辑:mintao

 

 

By Trudy Pelzer

翻译:guipei

随着mysql 4.1版的发布,现在有两种方法可以使用一个单独的查询从多个数据表中取得数据:使用连接(join)或者使用子查询(subquery)。我们来举例说明,假设你有一下的表格:

 

CREATE TABLE clients (

  clno INT,

  fname VARCHAR(15),

  lname VARCHAR(15),

  job VARCHAR(15),

  account_balance DECIMAL(7,2));

 

INSERT INTO clients VALUES

  (10, ''''sam'''',''''smith'''',''''auditor'''',5525.75),

  (20,''''james'''',''''jones'''',''''manager'''',8960.25);

 

CREATE TABLE firms (

  clno INT,

  company VARCHAR(15),

  city VARCHAR(15));

 

INSERT INTO firms VALUES

  (10,''''abc co'''',''''leduc''''),

  (20,''''def ltd'''',''''nisku''''),

  (30,''''ghi inc'''',''''nisku'''');

下面我们使用连接(join)方法取得client表格中id为10的数据。

SELECT

  fname, lname, city, job, company, account_balance

  FROM clients c, firms f

  WHERE c.clno = f.clno

    AND c.clno = 10;

但是你并非总是可以通过使用连接(join)方式查询你所需要的数据。举一个例子,假如你需要最大的帐户表中的客户信息。下面的查询,看起来好像应该可以正确返回你所需要的数据,但是实际上会发生错误:

SELECT

  fname, lname, city, job, company, account_balance

  FROM clients c, firms f

[1] [2] [3] [4] [5]  下一页

打印本文 打印本文 关闭窗口 关闭窗口