最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

數(shù)據(jù)庫表的查詢操作(實(shí)驗(yàn)二)

 更新時(shí)間:2015年08月07日 14:32:53   投稿:lijiao  
這篇文章主要介紹了表的查詢操作,包括單表查詢、多表連接及查詢、嵌套查詢、集合查詢等,需要的朋友可以參考下

【實(shí)驗(yàn)?zāi)康摹?了解SQL語言的使用,進(jìn)一步理解關(guān)系運(yùn)算,鞏固數(shù)據(jù)庫的基礎(chǔ)知識(shí)。
【實(shí)驗(yàn)要求】:掌握利用Select語句進(jìn)行各種查詢操作:?jiǎn)伪聿樵?、多表連接及查詢、嵌套查詢、集合查詢等。
【實(shí)驗(yàn)內(nèi)容】

一、單表查詢
1.簡(jiǎn)單查詢
打開查詢分析器,根建立teacher表,并加入數(shù)據(jù)。從teacher表中分別檢索出教師的所有信息,以及僅查詢教工號(hào)、姓名和職稱。語句如下:

select * from teacher
select tno, tname from teacher

如要查詢時(shí)改變列標(biāo)題的顯示,則從teacher表中分別檢索出教師教工號(hào)、姓名、電子郵箱信息并分別加上‘教師姓名'、‘教工號(hào)'、'電子郵箱'等標(biāo)題信息。

select tno 工號(hào), tname 姓名, temail 電子郵箱 from teacher

使用TOP關(guān)鍵字:分別從teacher中檢索出前2條及前面67%的教師的信息。

select top 2 * from teacher
select top 67 percent * from teacher

使用DISTINCT關(guān)鍵字:從teacher表中檢索出教師的職稱并且要求顯示的職稱不重復(fù)。select  distinct tposition   from  teacher

2.用計(jì)算列:將teacher表中各教師的姓名、教工號(hào)及工資按95%發(fā)放的信息,第2條語句將工資按95%發(fā)放后列名該為‘預(yù)發(fā)工資'。語句如下:

select tno tname ,tsalary*0.95 from teacher
select tno工號(hào), tname姓名, tsalary*0.95 AS 預(yù)發(fā)工資 from teacher

3.使用ORDER BY子句對(duì)查詢的結(jié)果進(jìn)行排序
使用ORDER BY語句可以對(duì)查詢的結(jié)果進(jìn)行排序,ASC、DESC分別是升序和降序排列的關(guān)鍵字,系統(tǒng)默認(rèn)的是升序排列。從teacher表中查詢工資大于2800的教師的教工號(hào)、姓名,并按升序排列,語句如下:

select tno, tname from teacher
WHERE tsalary>2800 order by tsalary ASC

4.條件查詢
(1)使用關(guān)系運(yùn)算符:從teacher表中查詢出工作量大于288的教師資料,語句如下:

select * from teacherWHERE tamount>288 order by tamount DESC

(2)使用BETWEEN AND謂詞:從teacher表中查詢出工作量界于144和288之間的教師資料,語句如下:

select * from teacher WHERE tamount between 144 and 288

(3) 使用IN謂詞:從teacher表中查詢出職稱為“教授”或“副教授”的教師的教工號(hào)、教師姓名、職稱及家庭住址,語句如下:

select tno,tname,tposition, taddress from teacher
WHERE tposition in ('教授','副教授')

(4)使用LIKE謂詞:從teacher表中分別檢索出姓'王'的教師的資料,或者姓名的第2個(gè)字是'莉'或'軒'的教師的資料,語句如下:

select * from teacher WHERE tname like '王%'
select * from teacher WHERE tname like '_[莉,軒]%'

 二、多表查詢
數(shù)據(jù)庫各表中存放著不同的數(shù)據(jù),用戶經(jīng)常需要用多個(gè)表中的數(shù)據(jù)來組合提煉出所需要的信息,如果一個(gè)查詢需要對(duì)多個(gè)表進(jìn)行操作,就稱為關(guān)聯(lián)查詢,關(guān)聯(lián)查詢的結(jié)果集或結(jié)果表稱為表之間的連接。關(guān)聯(lián)查詢實(shí)際上是通過各各表之間共同列的關(guān)聯(lián)來查詢數(shù)據(jù)的,它是關(guān)系數(shù)據(jù)庫查詢最基本的特征。
1.SQL 2000兼容2種連接形式:用于FROM子句的ANSI連接語法和用于WHERE子句的SQL SERVER連接語法形式。
從student、course和SC三張表中檢索學(xué)生的學(xué)號(hào)、姓名、學(xué)習(xí)課程號(hào)、學(xué)習(xí)課程名及課程成績(jī),語句如下:

select student.sno, sname, cno, grade
from student inner join SC on student.sno=SC.sno

select student.sname,sc.grade
from student,sc
WHERE student.sno=sc.sno 

select student.sno,student.sname,sc.cno,course.cname,sc.grade
from student,sc,course 
WHERE student.sno=sc.sno and sc.cno=course.cno

2.使用UNION子句進(jìn)行查詢
使用UNION子句可以將一個(gè)或者多個(gè)表的某些數(shù)據(jù)類型相同的列顯示在同一列上。如從teacher表中列出教工號(hào)、姓名并從student表中列出學(xué)號(hào)及學(xué)生姓名,語句及查詢結(jié)果如下:

select sno AS 學(xué)號(hào)或工號(hào), sname AS 姓名 from student 
union 
select tno, tname from teacher

3.用GROUP子句進(jìn)行查詢 
如果要在數(shù)據(jù)檢索時(shí)對(duì)表中數(shù)據(jù)按照一定條件進(jìn)行分組匯總或求平均值,就要在SELECT語句中與GROUP BY子句一起使用集合函數(shù)。使用GROUP BY子句進(jìn)行數(shù)據(jù)檢索可得到數(shù)據(jù)分類的匯總統(tǒng)計(jì)、平均值或其他統(tǒng)計(jì)信息。
(1) 使用不帶HAVING的GROUP BY子句。
使用不帶HAVING 的GROUP BY子句匯總出SC表中的學(xué)生的學(xué)號(hào)及總成績(jī),語句如下:

select '學(xué)號(hào)'=sno,'總成績(jī)'=SUM(Grade) 
from SC
group by Sno

(2)使用帶HAVING 的GROUP BY子句。
使用帶HAVING 的GROUP BY子句匯總出SC表中總分大于450分的學(xué)生的學(xué)號(hào)及總成績(jī),語句如下:

select '學(xué)號(hào)'=sno,'總成績(jī)'=SUM(Grade) from SC
group by Sno 
Having SUM(Grade)>160 

4.用COMPUTE和COMPUTE BY子句進(jìn)行查詢
使用COMPUTE和COMPUTE BY 既能瀏覽數(shù)據(jù)又能看到統(tǒng)計(jì)的結(jié)果。
(1) 用COMPUTE子句匯總出SC表中每個(gè)學(xué)生的學(xué)號(hào)及總成績(jī),語句如下:

select '學(xué)號(hào)'=sno,'成績(jī)'=Grade from SC 
order by sno COMPUTE SUM(Grade)

(2)用COMPUTE BY 子句按學(xué)號(hào)匯總出SC表中每個(gè)學(xué)生的學(xué)號(hào)及總成績(jī),語句如下:

select '學(xué)號(hào)'=sno,'成績(jī)'=Grade from SC 
ORDER BY Sno COMPUTE SUM(Grade) by sno

觀察執(zhí)行COMPUTE和COMPUTE BY子句的結(jié)果有什么不同?

5.嵌套查詢
(1) 使用IN或NOT IN關(guān)鍵字
使用IN關(guān)鍵字查詢出j10011班所有男生的學(xué)號(hào)、課程號(hào)及相應(yīng)的成績(jī),語句如下:

select SC.sno , SC.cno,SC.grade
FROM SC 
WHERE sno IN 
 ( SELECT sno FROM student
 WHERE Sclass='j10011' AND Ssex='男')

使用IN關(guān)鍵字查詢出與教師不同名的學(xué)生(學(xué)號(hào),姓名),語句如下:

select sno 學(xué)號(hào), sname 姓名 
from student 
where sname not in (select tname from teacher)

(2) 使用EXISTS 或NOT EXISTS關(guān)鍵字。

使用EXISTS關(guān)鍵字查詢出‘j10011'班的學(xué)生的學(xué)號(hào)、課程號(hào)及相應(yīng)的成績(jī),語句如下:

SELECT SC.sno,SC.cno,SC.grade 
FROM SC
WHERE EXISTS 
( SELECT * FROM student
 WHERE SC.sno=student.sno AND student.sclass=‘j10011' )




以上就是表的查詢操作實(shí)驗(yàn)全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,大家親自動(dòng)手實(shí)踐一下。

相關(guān)文章

  • SQL Server數(shù)據(jù)庫重命名、數(shù)據(jù)導(dǎo)出的方法說明

    SQL Server數(shù)據(jù)庫重命名、數(shù)據(jù)導(dǎo)出的方法說明

    這篇文章主要介紹了SQL Server數(shù)據(jù)庫重命名、數(shù)據(jù)導(dǎo)出、更改數(shù)據(jù)庫所有者的方法說明,大家參考使用吧
    2013-11-11
  • SQL Server多表查詢優(yōu)化方案集錦

    SQL Server多表查詢優(yōu)化方案集錦

    本文我們主要對(duì)SQL Server多表查詢的優(yōu)化方案進(jìn)行了總結(jié),并給出了實(shí)際的例子進(jìn)行性能與效率的對(duì)比,需要的朋友可以參考下
    2015-08-08
  • 詳解SQL Server 2016快照代理過程

    詳解SQL Server 2016快照代理過程

    給大家詳細(xì)分析了SQL Server 2016 快照代理過程,并實(shí)例分析了其中需要注意的地方,跟著小編一下學(xué)習(xí)下吧。
    2017-12-12
  • SQL?Server實(shí)現(xiàn)group_concat函數(shù)的詳細(xì)舉例

    SQL?Server實(shí)現(xiàn)group_concat函數(shù)的詳細(xì)舉例

    這篇文章主要給大家介紹了關(guān)于SQL?Server實(shí)現(xiàn)group_concat函數(shù)的詳細(xì)舉例,GROUP_CONCAT函數(shù)可以拼接某個(gè)字段值成字符串,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • sql server數(shù)據(jù)庫高可用日志傳送的方法

    sql server數(shù)據(jù)庫高可用日志傳送的方法

    SQL Server 使用日志傳送,您可以自動(dòng)將“主服務(wù)器”實(shí)例上“主數(shù)據(jù)庫”內(nèi)的事務(wù)日志備份發(fā)送到單獨(dú)“輔助服務(wù)器”實(shí)例上的一個(gè)或多個(gè)“輔助數(shù)據(jù)庫”,下面這篇文章主要給大家介紹了關(guān)于sql server數(shù)據(jù)庫高可用日志傳送的相關(guān)資料,需要的朋友可以參考下
    2018-05-05
  • MSSQL數(shù)據(jù)庫的定期自動(dòng)備份計(jì)劃。

    MSSQL數(shù)據(jù)庫的定期自動(dòng)備份計(jì)劃。

    MSSQL數(shù)據(jù)庫的定期自動(dòng)備份計(jì)劃。...
    2006-08-08
  • SQL Server 數(shù)據(jù)庫中游標(biāo)(Cursor)的使用方法與完整實(shí)例

    SQL Server 數(shù)據(jù)庫中游標(biāo)(Cursor)的使用方法與完整實(shí)例

    SQLServer游標(biāo)用于逐行處理結(jié)果集,DECLARE聲明游標(biāo),OPEN打開,FETCH獲取數(shù)據(jù),CLOSE關(guān)閉,DEALLOCATE釋放資源,避免大數(shù)據(jù)集時(shí)性能影響,操作結(jié)束后關(guān)閉釋放資源,本文介紹SQL Server 數(shù)據(jù)庫中游標(biāo)(Cursor)的使用方法與實(shí)例,感興趣的朋友一起看看吧
    2025-02-02
  • 關(guān)于SQL 存儲(chǔ)過程入門基礎(chǔ)(變量)

    關(guān)于SQL 存儲(chǔ)過程入門基礎(chǔ)(變量)

    本篇文章,小編將為大家介紹關(guān)于SQL 存儲(chǔ)過程入門基礎(chǔ)(變量),有需要的朋友可以參考一下
    2013-04-04
  • sql?server?數(shù)據(jù)庫鎖教程及鎖操作方法

    sql?server?數(shù)據(jù)庫鎖教程及鎖操作方法

    SQL?Server數(shù)據(jù)庫鎖機(jī)制是保證并發(fā)性和數(shù)據(jù)一致性的關(guān)鍵,它通過不同級(jí)別的鎖和鎖類型(共享、排他、更新等)來管理資源訪問,了解和正確使用鎖機(jī)制,可以幫助開發(fā)者設(shè)計(jì)高效、并發(fā)性強(qiáng)的數(shù)據(jù)庫應(yīng)用,本文介紹sql?server?數(shù)據(jù)庫鎖教程及鎖操作,感興趣的朋友一起看看吧
    2025-02-02
  • SQL Server 觸發(fā)器實(shí)例詳解

    SQL Server 觸發(fā)器實(shí)例詳解

    觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它不同于之前的我們介紹的存儲(chǔ)過程。觸發(fā)器主要是通過事件進(jìn)行觸發(fā)被自動(dòng)調(diào)用執(zhí)行的,接下來本文通過實(shí)例詳解sqlserver觸發(fā)器,對(duì)sqlserver觸發(fā)器相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01

最新評(píng)論

萨迦县| 常宁市| 张家口市| 廉江市| 龙井市| 太和县| 集安市| 安宁市| 寿宁县| 长宁区| 牙克石市| 柳州市| 临泉县| 广饶县| 南通市| 通山县| 白沙| 华蓥市| 元氏县| 南阳市| 平凉市| 大洼县| 扎兰屯市| 洪泽县| 怀远县| 梁山县| 冷水江市| 呼图壁县| 海宁市| 郓城县| 阳谷县| 伽师县| 昆明市| 扬中市| 西昌市| 阆中市| 永吉县| 涪陵区| 平潭县| 宜宾市| 彩票|