SQL連線表示式

2021-07-11 09:21:44 字數 1631 閱讀 8130

為驗證不同連線表示式的區別,先建立下面的表:

(1)  (inner) join:  對錶a和表b取笛卡爾積(內連線,inner可以省略)

select students.*,teacher_name,course_id from students join teachers;
結果如下:

(2)natural (inner)  join:  自然連線只考慮在兩個關係表中都出現的屬性取值上相同的元組對

select students.*,teacher_name,course_id from students natural join teachers;
結果如下:

事實上

select students.*,teacher_name,course_id from students join teachers using(teacher_id);與select students.*,teacher_name,course_id from students natural join teachers;結果相同

(3) left   join 

select students.*,teacher_name,course_id from students left join teachers;
這樣寫會出現語法錯誤提示,需要加using:

select students.*,teacher_name,course_id from students left join teachers using(teacher_id);結果如下:

此時可能還無法發現left join與普通join的區別,那麼看下面的right  join就能發現

(4) right   join

仔細觀察可以發現,teachers表中的teacher_id=4的教師沒有對應的學生,

此時可以發現沒有對應學生的老師zkx也會出現在表中,可以通過結果來體會left和right join與普通join 的區別。

sql正規表示式 SQL中的正規表示式

sql正規表示式 sql中的正規表示式 sql的查詢語句中,有時會需要引進正規表示式為其複雜搜尋指定模式。下面給出一些 regexp 在mysql 語句中應用 非全部 1 匹配字串的開始部分。mysql select fo nfo regexp fo 0mysql select fofo regex...

SQL 正規表示式

由mysql提供的模式匹配的其他型別是使用擴充套件正規表示式。當你對這類模式進行匹配測試時,使用regexp和not regexp操作符 或rlike和not rlike,它們是同義詞 擴充套件正規表示式的一些字元是 匹配任何單個的字元。乙個字元類 匹配在方括號內的任何字元。例如,abc 匹配 a ...

SQL正規表示式

當我們要進行一些簡單的糊塗查詢時用百分號 萬用字元 就可以了.其中 表達任意長度的字串,表示任意的某乙個字元.比如select from emp where ename like s or ename like s 但如果在一些複雜的查詢中關用這兩個符號sql語句就會非常複雜,而且也不一定能實現.從...