sql中的*的使用注意點
材料:test_source,test_target,他們的結構和資料是
SQL> select * from test_source;
NAME ID
---------- ----------
lolulz 74834
P4 74835
luo 8
P1 74832
P2 74833
zhi 8
SQL> select * from test_target;
NAME ID
---------- ----------
lulugan 12
lulugan 12
updatef 10
lolulz 74834
luo 8
P1 74832
P2 74833
zhi 8
--------------------------開始試驗---------------------------
例子1
SQL> create or replace view v_target_source as
2 select test_target.*,test_source.* from test_target left outer join test_source
3 on(
4 test_target.id = test_source.id
5 )
6 with read only;
select test_target.*,test_source.* from test_target left outer join test_source
*
第 2 行出現錯誤:
ORA-00957: 重複的列名
----------
由於test_target和test_source中有相同的列名,而在一個view或table中不能有相同的列名
因此報錯。
----------
例子2
SQL> select test_target.*,test_source.* from test_target left outer join test_source
2 on(
3 test_target.id = test_source.id
4 );
NAME ID NAME ID
---------- ---------- ---------- ----------
lolulz 74834 lolulz 74834
zhi 8 luo 8
luo 8 luo 8
P1 74832 P1 74832
P2 74833 P2 74833
zhi 8 zhi 8
luo 8 zhi 8
已選擇7行。
----------
1.即使test_target和test_source中有相同的列名,但是隻是普通的select出資料顯示而已,對資料庫沒有任何影響!因此沒必要報錯。
2.這裡的 * 是指:指定兩個表各自的所有欄位
----------
例子3
SQL> select * from test_target left outer join test_source
2 on(
3 test_target.id = test_source.id
4 );
NAME ID NAME ID
---------- ---------- ---------- ----------
lolulz 74834 lolulz 74834
zhi 8 luo 8
luo 8 luo 8
P1 74832 P1 74832
P2 74833 P2 74833
zhi 8 zhi 8
luo 8 zhi 8
已選擇7行。
----------
這裡的 * 是指:兩表形成的笛卡爾積集合的所有欄位
----------
SQL> select * from test_source;
NAME ID
---------- ----------
lolulz 74834
P4 74835
luo 8
P1 74832
P2 74833
zhi 8
SQL> select * from test_target;
NAME ID
---------- ----------
lulugan 12
lulugan 12
updatef 10
lolulz 74834
luo 8
P1 74832
P2 74833
zhi 8
--------------------------開始試驗---------------------------
例子1
SQL> create or replace view v_target_source as
2 select test_target.*,test_source.* from test_target left outer join test_source
3 on(
4 test_target.id = test_source.id
5 )
6 with read only;
select test_target.*,test_source.* from test_target left outer join test_source
*
第 2 行出現錯誤:
ORA-00957: 重複的列名
----------
由於test_target和test_source中有相同的列名,而在一個view或table中不能有相同的列名
因此報錯。
----------
例子2
SQL> select test_target.*,test_source.* from test_target left outer join test_source
2 on(
3 test_target.id = test_source.id
4 );
NAME ID NAME ID
---------- ---------- ---------- ----------
lolulz 74834 lolulz 74834
zhi 8 luo 8
luo 8 luo 8
P1 74832 P1 74832
P2 74833 P2 74833
zhi 8 zhi 8
luo 8 zhi 8
已選擇7行。
----------
1.即使test_target和test_source中有相同的列名,但是隻是普通的select出資料顯示而已,對資料庫沒有任何影響!因此沒必要報錯。
2.這裡的 * 是指:指定兩個表各自的所有欄位
----------
例子3
SQL> select * from test_target left outer join test_source
2 on(
3 test_target.id = test_source.id
4 );
NAME ID NAME ID
---------- ---------- ---------- ----------
lolulz 74834 lolulz 74834
zhi 8 luo 8
luo 8 luo 8
P1 74832 P1 74832
P2 74833 P2 74833
zhi 8 zhi 8
luo 8 zhi 8
已選擇7行。
----------
這裡的 * 是指:兩表形成的笛卡爾積集合的所有欄位
----------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29900383/viewspace-1299874/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- vector的使用注意點
- Golang switch case 的使用注意點Golang
- CSS中will-change的注意點CSS
- 說點JSON使用的注意事項JSON
- 【SQL】SQL中if條件的使用SQL
- FMDB 使用注意點
- Python Enum 使用的幾點注意事項Python
- python中__new__的使用注意Python
- input在python中的使用注意Python
- 需要提醒你關於 golang 中 map 使用的幾點注意事項Golang
- java中Stream的使用流程及注意Java
- SQL 語句的注意事項SQL
- 使用iceberg-使用Iceberg資料湖需要注意的點
- Laravel 使用 PostgreSQL 資料庫需要注意的點LaravelSQL資料庫
- Vant庫的使用,及日期元件的一些注意點元件
- js中eval詳解,用Js的eval解析JSON中的注意點JSON
- 安裝pybrain的注意點AI
- Python中Lambda使用要注意的幾個地方Python
- SEO中網站微創新的幾個注意點網站
- Python面試中需要注意的幾點事項!Python面試
- 專案管理中,應該注意的5點原則專案管理
- MySQL的clone(克隆)要注意的點MySql
- 10個需要注意的SQL問題SQL
- svg 使用中的疑惑點SVG
- Vue mixins淺談使用方法及需要注意的點Vue
- 沁恆risc-v藍芽晶片的flash使用注意點藍芽晶片
- python中math.log注意點Python
- BigDecimal使用注意的地方Decimal
- 谷歌的JavaScript編寫風格中 13點值得我們注意的!谷歌JavaScript
- AUTHID CURRENT_USER的注意點
- SQL中的替換函式replace()使用SQL函式
- SQL中DATEADD和DATEDIFF的使用方法SQL
- Sql中SYSDATE函式的使用方法SQL函式
- SQL解析在美團點評中的應用SQL
- 使用Java 10的var型別推斷的幾個注意點! - DZone JavaJava型別
- koa2使用注意點總結
- Rust中新型別Newtype使用注意點Rust型別
- APP測試中IOS和Android的區別,有哪些注意點?APPiOSAndroid
- 專案管理中需要注意的四個關鍵控制點專案管理