SQL基礎 查詢資料 多表查詢

2021-10-03 13:10:42 字數 1870 閱讀 2478

select查詢不僅可以查詢一張表,還可以從多張表同時查詢資料

語法

select

*from

表1>

表2>

同時查詢students表和classes表的

例項

select

*from students, classes;

查詢結果

一次查詢兩個表,查詢結果同樣是乙個二維表。

它是students表和classes表的乘積,即students表的每一行與classes表的每一行都兩兩拼在一起返回。

結果集的列數是students表和classes表的列數值和,行數是studentsclasses表的行數之積。

上述查詢的結果集有兩列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.查詢選...