網站首頁 編程語言 正文
可以通過空格或者as給表起別名
但是注意如果操作的數據庫是Oracle的話,只能使用空格,as不符合Oracle的語法。
舉個栗子
簡單查詢中使用別名
select *
from student s
where s.id = '10';
在簡單的查詢中使用別名,一般沒有特別需要注意的地方,要做的操作少
復雜查詢中使用別名
題目概要:有三個表格,student(sno,sname,ssex,sbirthday,class)
score(sno,cno,degree)
course(cno,cname,tno)
查詢選修“3-105”課程的成績高于“109”號同學成績的所有同學的記錄。
答案:
select *
from (select s.sno,s.sname,s.ssex,s.sbirthday,s.class, sc.degree,c.cno,c.cname,c.tno from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss
where ss.cno = '3-105' and ss.degree >( select degree from score where sno = '109' and cno = '3-105');
可以看到,為了方便操作,我們重新定義了一個表格ss,這個表格是一個大表格同時包含了,以上三個表中的內容。但是要注意以下幾點,不然容易出錯
要全部顯示新定義表格的值時,不能直接使用*
比如聲明的答案中如果改為
select *
from (select * from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss
where ss.cno = '3-105' and ss.degree >( select degree from score where sno = '109' and cno = '3-105');
命令行會顯示列未明確定義,因為我們要現在指定的列作為一個新的表,但是有些列的列名是重復的,我們需要指定其中的一個。
在嵌套查詢語句中無法使用新創的表,因為嵌套查詢里面的代碼是一個完整的執行段,會從頭開始運行?反正在里面調用會報錯
select *
from (select * from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss
where ss.cno = '3-105' and ss.degree >( select degree from ss where sno = '109' and cno = '3-105');
這段SQL里面在where里面的子查詢使用了ss新表,編譯會顯示表或視圖不存在錯誤。
總結
原文鏈接:https://blog.csdn.net/weixin_39386430/article/details/100630440
相關推薦
- 2023-02-09 最新解決'nvidia-smi'?不是內部或外部命令也不是可運行的程序_python
- 2022-09-01 jquery實現全選功能_jquery
- 2022-10-01 C#?將?Stream?保存到文件的方法_C#教程
- 2022-10-31 一篇文章教會你使用gs_restore導入數據_數據庫其它
- 2022-03-17 C語言判斷數是否為素數與素數輸出_C 語言
- 2023-03-16 iOS?schem與Universal?Link?調試時踩坑解決記錄_IOS
- 2022-08-19 解決:curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSC
- 2022-06-13 C語言strlen函數實現讀取字符串長度詳解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支