MySQL高階知識1 多表查詢

2021-08-18 23:19:17 字數 671 閱讀 9462

當我們對多表進行聯查時,我們可以得到 表1 * 表2 的記錄數。

例子:

表1的『name』欄位和表2的『name』字段關聯

select * from t1,t2 where t1.name = t2.username

補充:

如果兩個欄位不一樣,也可不帶表名作為字首。

直接通過例子來看

例子:

同一張表,查詢員工對應的上司。

思路:1)首先獲取這個員工對應的上司編號;

2)通過編號找到上司

實現1(子查詢):

select * from tbl_name where 員工編號 =

(select 上司編號 from tbl_name where 員工名字 = 'tim');

實現2(多表形式查詢):

select * from tal_name as員工表, tal_name as上司表

where 員工表.上司編號 = 上司表.員工編號

and 員工名字 = 'tim'

mysql多表 MySQL 多表查詢

多表查詢 select listname from tablename1,tablename2 笛卡爾積 多表查詢中,如果沒有連線條件,則會產生笛卡爾積 數學中的定義 假設集合a 集合b 則兩個集合的笛卡爾積為 實際執行環境下,應避免使用笛卡爾積 解決方案 在where加入有效的連線條件 等值連線 ...

mysql多表查詢理論知識

複製表 複製表 將源表 複製為新錶 yyy create table yyy select from 將指定的查詢結果複製為新錶 zzz create table zzz sql 查詢語句 複製表 續 1 複製源表 的結構到新錶 vvv create table vvv select from wh...

mysql多表查詢方式 MySQL多表查詢方式問題

你的 sql 沒有用到任何索引,對 a b 兩個表都是全表掃瞄,在資料量小的時候是沒有問題的,但是如果資料量超過 100 萬,效能問題就會突顯出來。這裡不清楚你的 created at 欄位是什麼型別,不過從你的 date format created at,y m d 看來,應該是 datetim...