3.数据库单多表查询

3.数据库单多表查询

3.1单表查询

按字段查询

查询特定字段

select <字段1,字段2.....> from <表名>;

比如:从member表中查询所有用户的id,regname,leaveamount

select id,regname,leaveamount from member;

查询所有字段

select * from <表名>;

比如,查看member表中的所有数据

select * from member;

按条件查询 where

按一个条件查询

select * from <表名> where 条件表达式;

 

select <字段1,字段2.....> from <表名> where 条件表达式;

比如,从member中查看id3的所有数据

select * from member where id3;

按多条件查询

且同时成立

select ...from <表名> where 条件表达式1 and 条件表达式2;

比如:从member表中查询用户名为id大于4,可用余额小于等于200000.00的所有用户信息

select * from member where id4 and leaveamount<=200000.00;

按多条件查询

满足其中一条即可

select ... from <表名> where 条件表达式1 or 条件表达式2;

比如:从member表中查询用户名为小团子或者可用余额大于等于10000.00的所有字段信息

select * from member where regname='小团子' or leaveamount>=10000.00;

<= >=

3.2多表查询

不同类型的数据放到不同的表,表之间维持一个关联就可以彼此联系。

-----关联字段,数据相等。可看member中的id loan中的memberid

比如:要查询借款用户的个人信息以及他的借款项目信息。

select * from member,loan where loan.memberid=member.id;

多表查询

select 查询字段 from 1,表2.... where 关联条件和过滤条件;

两个表的关联

比如 查询ID1001的用户的用户名、手机号、可用余额以及该用户的借款项目的编号、

标题,借款金额

分析:

1.涉及的表 member loan

2.查询字段,memberregnamemobilephoneleaveamount

                   loan(id,title,amount)

3.关联条件 loan.memberid=member.id

4.过滤条件 member.id=1001

select

member.regname,member.mobilephone,member.leaveamount,

loan.id,loan.title,loan.amount

from

member,loan

where

loan.memberid=member.id and member.id=1001;

简写方式

别名

可省略as

select

t1.regname,t1.mobilephone,t1.leaveamount,

t2.id,t2.title,t2.amount

from

member as t1,loan as t2

where

t2.memberid=t1.id and t1.id=1001;

三表关联

下图三表

比如 查询用户在表member,表loan,表invest中的所有信息

select * from member,loan,invest where member.id=member.id,invest.loanid=loan.id;

 

原文地址:https://www.cnblogs.com/Aphrodite/p/10064842.html