select查詢不僅可以查詢一張表,還可以從多張表同時查詢資料
語法
select
*from
表1>
表2>
同時查詢students表和classes表的
例項
select
*from students, classes;
查詢結果
一次查詢兩個表,查詢結果同樣是乙個二維表。
它是students
表和classes
表的乘積,即students
表的每一行與classes
表的每一行都兩兩拼在一起返回。
結果集的列數是students
表和classes
表的列數值和,行數是students
和classes
表的行數之積。
上述查詢的結果集有兩列id
和兩列name
,兩列id
是因為其中一列是students
表的id
,而另一列是classes
表的id
,但是在結果集中,不好區分。
解決辦法,利用投影查詢的設定列的別名來給兩個表各自的id和name起名。
select
students.id sid,
students.name,
students.gender,
students.score,
classes.id cid,
classes.name cname
from students, classes;
查詢結果
注:部分查詢結果
多表查詢時,要使用表名.列名的方式來引用列和設定別名,避免結果集的列名重複問題。
sql還允許給表設定乙個別名,在投影查詢中引用起來簡潔一點
例項
select
s.id sid,
s.name,
s.gender,
s.score,
c.id cid,
c.name cname
from students s, classes c;
查詢結果
注:給表設定別名給的語法from 《表名1> 《別名1>,《表名2> 《別名2>
。
多表查詢可以新增where條件例項
select
s.id sid,
s.name,
s.gender,
s.score,
c.id cid,
c.name cname
from students s, classes c
where s.gender =
'm'and c.id =
1;
查詢結果
SQL資料查詢 子查詢 多表查詢
user info表 user info表 create table user info id int 2 primary key,user name varchar 12 unique password varchar 15 not null real name varchar 8 not nul...
SQL 多表查詢
不同的 sql join inner join 內連線 如果表中至少有乙個匹配,也從左表返回所有的行 left join 左連線 即使右表中沒有匹配,也從右表返回所有的行 right join 右連線 即使左表中沒有匹配,也從右表返回所有的行 full join 全連線 只有其中乙個表中存在匹配也從...
SQL 多表查詢
join操作符 1.笛卡爾積,rxs 可直接轉換為sql語句 2.等值連線,記作 可直接轉換為sql語句 3.自然連線,記作 可轉換為sql語句 4.左外連線和右外連線的表示方法及轉換為sql 注意若多個關係有同名屬性,則用 關係名.屬性名 指出重名屬性 連線也可以與投影,選擇等結合使用。1.查詢選...