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中查看id>3的所有数据 select * from member where id>3; |
|
按多条件查询 且同时成立 |
select ...from <表名> where 条件表达式1 and 条件表达式2; |
比如:从member表中查询用户名为id大于4,可用余额小于等于200000.00的所有用户信息 select * from member where id>4 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 关联条件和过滤条件; |
两个表的关联 |
比如 查询ID为1001的用户的用户名、手机号、可用余额以及该用户的借款项目的编号、 标题,借款金额 |
分析: 1.涉及的表 member ,loan 2.查询字段,member(regname,mobilephone,leaveamount) 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; |