mysql語句學習之數據庫查詢

一.表和表之間的關系

— 一對一,一對多(多對一),多對多

— 多對多的表示 第三張表

— 第三張表作為從表 擁有其他兩個主表的外鍵

二.合並查詢

–UNION取兩個表並集(字段名 類型相同)

–UNION ALL 把兩個表的數據合在一起

三.多表查詢

select * from 表1,表2;

這樣查詢會產生笛卡爾積(會產生大量的無用數據)

去除錯誤數據,利用兩張表的編號相同來去除

99查詢法(利用表中的字段相同 去除重復數據)

select * from 表1 a,表2 b where a.字段=b.字段;

四.連接查詢

–內連接

on後面是去除重復數據的條件

select * from 表一 A INNER JION 表二 B on A.字段=B.字段;

–外鏈接 左外鏈接 右外鏈接

–關鍵詞 OUTER可以省略

–左外連接以左邊的表為主 會查詢出左邊表的所有數據

–右外鏈接反之

–自然連接 關鍵詞 NATURAL JOIN

自動匹配兩個表中 相同字段的值

要求字段名和類型相同

–死查詢(嵌套查詢)

select * from 表名1 where 字段1 篩選條件(

select 字段1 from 表名1 where 條件);

–自連接查詢

要查找的信息在一張表裡,但一次查不出來,把自己這張表當做兩個表來查詢

select 字段1,字段2 from 表1 a,表2 b where a.字段1=b.字段2 and 條件;

查詢代碼的書寫順序和執行順序

查詢語句書寫順序:select – from- where- group by- having- order by-limit

查詢語句執行順序:from – where -group by – having – select – order by-limit

發佈留言