建立查詢表
create table a(a int);
create table b(b int);
插入資料
insert into a values(1);
insert into a values(2);
insert into b values(3);
insert into b values(4);
單錶查詢
select attr from table_name;
*表示查詢全部屬性,也可以指定為屬性,屬性可以多少,但是表內必須包含
多表查詢之笛卡爾積
多表進行查詢時,進行迴圈遍歷操作,相當於多個for迴圈組合,每張表就是乙個for,最後面的表最外層
這就是笛卡爾積
查表**
結合上表,不難看出
多表查詢時,form後面的表會進行笛卡爾積的組合,返回一張新的臨時表,然後才會在臨時表中執行前面的查詢操作
關聯操作:
select * from table_a left(right) join table_b on condition;
為了觀察,插入資料
insert into a values(99);
insert into b values(99);
笛卡爾積表
左關聯和下面比較一下
可以看到,左關聯對於查詢表和關聯表有如下特點:
查詢表:完整顯示所有元素,優先顯示條件查詢元素,其餘元素原來順序不變
關聯表:對應查詢表,有對應查詢元素顯示,沒有顯示null
右關聯可以看到,同左關聯,但是查詢表和關聯表依賴性相反
內關聯同
檢查屬性特徵,滿足條件並列顯示(並集)
全關聯全部顯示對應關係,不對應自動填充null
關聯操作意義:對笛卡爾積的進一步封裝,查詢方便但跳過笛卡爾積不易理解
union
union可以將兩個查詢結果進行整合顯示,相當於乙個有序集合set
1. 去重:重複結果不顯示
2. 順序:按照從左到右查詢結果依次排列
關聯查詢,可以是笛卡爾積表的過濾操作,篩選實用組合和對比元素,對無謂的組合進行過濾
所有的多表查詢都基於笛卡爾積表進行操作
Mysql 簡單查詢
1 查詢欄位的內容 可以是表中的字段 常量值 表示式 函式 查詢常量 表示式 函式時在不涉及表中字段時無需from子句 select 100 select john select 100 90 select version 2 sql中的 是運算子,不能作為字串連線符,但如果 連線的字串可以轉化為數...
MySQL簡單查詢語法
1.專案中如何儲存日期時間資料 大體上有三種方式 1 varchar儲存 不足 不便於比較大小 2 date time datetime儲存 不足 不便於實現國際化 3 bigint儲存 表示距離計算集元年的毫秒值,任何程式語言都可以把大數字轉換成為 日期時間 2.mysql中使用自增列 id in...
MYSQL之 簡單查詢
單錶查詢語句 檢視所有 select from teacher 檢視特殊的行 select from teacher where tid 2 檢視特殊字段 select tname from teacher 分頁查詢 select from score limit 0,5 limit 起點 個數 表...