午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

sql查詢給表起別名要點小結(涉及嵌套查詢)

瀏覽:339日期:2023-03-12 15:25:16
目錄
  • 可以通過空格或者as給表起別名
  • 簡單查詢中使用別名
  • 復雜查詢中使用別名
  • 總結

可以通過空格或者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新表,編譯會顯示表或視圖不存在錯誤。

總結

到此這篇關于sql查詢給表起別名要點(涉及嵌套查詢)的文章就介紹到這了,更多相關sql查詢給表起別名內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
主站蜘蛛池模板: 日本一级在线观看 | 香蕉久久综合 | 国产成人精品亚洲线观看 | 青青草97国产精品麻豆 | 国产成人精品一区二区三区四区 | 日本中文字幕不卡 | 一本综合久久 | 天天操,夜夜操 | 狠狠操狠狠插 | 日本黄色视 | 俺去啦最新网址 | 黄色网页在线播放 | 成年人黄色大片 | 亚洲精品久久久久久久久久久久久 | 亚洲网站视频 | 先锋资源男人 | 户外少妇对白啪啪野战 | 欧美日韩中文字幕在线观看 | 91夫妻论坛 | 99久久精品国产一区二区三区 | 在线观看免费av网站 | 伊人精品影院 | 操综合网 | 在线观看视频中文字幕 | 中文字幕的 | a级黄色免费视频 | 97人人艹| 亚洲精选一区二区 | 精品国产乱码久久久久久88av | 国产日韩欧美91 | 色综合天天综合 | 欧日韩一区二区三区 | 岛国av网| wwwwww国产| 久久夜视频 | 爱草在线| 激情视频激情小说激情图片 | 成人亚洲在线 | 九九热最新地址 | 日韩欧美激情视频 | 成人欧美一区二区三区在线观看 |