查詢表的欄位名 SQL學習之路 多表查詢

2021-10-16 09:39:27 字數 2041 閱讀 5964

一、背景

本文記錄的是sql學習過程中多表查詢的知識內容和練習題

二、多表查詢的重要知識點

2.1表的加法

1)表的加法用關鍵字union,是將兩個表按行合併在一起,合併時會刪除資料結果完全一樣的行,如果想保留相同的行就使用union all

2)表的加法,查詢結果表的欄位名,會使用第乙個select語句定義的欄位名

3)新增union可以同時合併多個select查詢語句;select查詢語句的結果字段數量不一致會報錯

2.2表的聯結

1)關係型資料庫中,表和表之間是通過列產生對應關係的,聯結是通過表與表的關係,將表合併在一起的操作

2)交叉聯結(又叫笛卡爾積):是將表中每一行都和另乙個表中的每一行合併在一起。學習交叉聯結的意義,它是其它聯結的基礎,其它聯結是在交叉聯結的基礎上加了過濾條件

3)內聯結(inner join):是取出兩個表中都符合條件的行,進行交叉聯結

4)左聯結(left join):會將左側表視為主表,將主表中的資料全部取出來,再取右側表中符合條件的行,進行交叉聯結

5)右聯結(right join)會將右側表視為主表,將主表中的資料全部取出來,再取左側表中符合條件的行,進行交叉聯結

6)全聯結(full join)會返回兩個表中所有的行,兩個表中有匹配的行會進行交叉聯結,沒有匹配的行會對應填充空值。mysql不支援全聯結

2.3表聯結總結

1)聯結記憶圖

2)如何選擇哪種聯結:

2.1)當需要生成固定行數的表單,或說明了要哪一張表中的全部資料時,就使用左(右)聯結

2.2)其他情況都使用內聯結,獲取兩個表中的公共部分

3)加入聯結的sql執行順序

2.4case表示式

1)case表示式的作用相當於乙個條件判斷函式

2)case表示式中,else子句可以省略,此時else預設為空值,但建議不省略;end不能省略

3)當有多種情況需要條件判斷時,就要用到case表示式

2.5排查語句錯誤的步驟總結

1)看報錯資訊

2)首先檢查每個子查詢

3)檢查欄位名是否寫錯,關鍵字有沒有錯

4)檢查標點符號:符號中英文狀態、符號是否多寫漏寫、列名用了單引號、值內容沒有用單引號

5)分段執行

三、練習:the join operation

11題的錯誤經驗:當有分組存在時,select子句中的列名要在group by 子句中有,同時要考慮group by中的多個列名不會影響分組

查詢表的欄位名

select name from syscolumns where id in select id from sysobjects where type u and name 相應表名 用以上sql語句輸入相應表名就可以查到表的欄位名,對應好資料庫 查詢是否存在該錶語句 if exists sele...

查詢表的欄位名 SQL的基本查詢

基本的查詢語句 select,from語句用法,從表中選擇需要查詢的字段 常用句式 select 欄位名1 欄位名2 from 表 號代表查詢表中所有字段 除了基本查詢外,還可以將列 欄位名 在查詢時重新命名,使用as distinct 刪除重複值的資料 select distinct 姓名 fro...

SQL查詢表,表的所有欄位名

sql server 檢視所有表名 select name from sysobjects where type u 查詢表的所有欄位名 select name from syscolumns where id object id 表名 select from information schema....