1、mysql別名
mysql在查詢資料時,可以為表和字段取別名,這個別名可以代替其指定的表和字段
select * from 表名 [as] 別名; 為表取別名
select 欄位名 [as] 別名 [,欄位名 [as] 別名,……] from 表名; 為 欄位取別名
在表中存在至少乙個匹配時,inner join 關鍵字返回行。語法如下
select column_name(s)
from table_name1
inner join table_name2
on table_name1.column_name=table_name2.column_name
注釋:inner join 與 join 是相同的。
left join 關鍵字會從左表 (table_name1) 那裡返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。
select column_name(s)
from table_name1
left join table_name2
on table_name1.column_name=table_name2.column_name
注釋:在某些資料庫中, left join 稱為 left outer join。
left join 關鍵字會從左表 (persons) 那裡返回所有的行,即使在右表 (orders) 中沒有匹配的行。
right join 關鍵字會右表 (table_name2) 那裡返回所有的行,即使在左表 (table_name1) 中沒有匹配的行。
select column_name(s)
from table_name1
right join table_name2
on table_name1.column_name=table_name2.column_name
right join 關鍵字會從右表 (orders) 那裡返回所有的行,即使在左表 (persons) 中沒有匹配的行。
cross join又稱為笛卡爾乘積,實際上是把兩個表乘起來。
select * from [table 1] cross join [table 2]
union 操作符用於合併兩個或多個 select 語句的結果集。
請注意,union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同。
select column_name(s) from table_name1
union
select column_name(s) from table_name2
1、在資料庫中建立person表和address表,表結構如下:
接著插入以下資料
要求編寫乙個 sql 查詢,滿足條件:無論 person 是否有位址資訊,都需要基於上述兩表提供 person 的以下資訊:firstname, lastname, city, state
2、編寫乙個 sql 查詢,來刪除 email 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。
建立如下表
插入如下資料
MySQL 基礎 (三) 表聯結
3.聯結方式的區別和聯絡 4.例項 別名 alias 是乙個欄位或值的替換名,別名用as關鍵字賦予,mysql支援列別名,計算字段別名,表別名。使用別名可以縮短sql語句並在一條語句中多次使用相同的表。select column name as alias from table name selec...
MySQL基礎(三) 表聯結
inner join 內連線,或等值連線 取得兩個表中存在連線匹配關係的記錄。取得左表 table1 完全記錄,即是右表 table2 並無對應匹配記錄。交叉連線,得到的結果是兩個表的乘積,即笛卡爾積 在資料庫中建立表1和表2,並各插入三行資料 表1 person 列名型別 personid int...
MySQL 基礎 (三) 表聯結
一 mysql別名 使用mysql別名來提高查詢的可讀性。mysql支援兩種別名,稱為列別名和表別名。1.表別名 有時,列的名稱是一些表示式,使查詢的輸出很難理解。要給列乙個描述性名稱,可以使用列別名。用法 如果別名包含空格,則必須引用 select column 1 expression as d...