當前位置:首頁 » 編程語言 » sql平均值筆試題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql平均值筆試題

發布時間: 2022-05-17 01:57:52

❶ 誰有sql 筆試題,要多的不要選擇填空。

javaeye裡面轉的,十幾個問題覆蓋多個方面,含答案

目前在職場中很難找到非常合格的資料庫開發人員。我的一個同事曾經說過:「SQL開發是一門語言,它很容易學,但是很難掌握。」

在面試應聘的SQL Server資料庫開發人員時,我運用了一套標準的基準技術問題。下面這些問題是我覺得能夠真正有助於淘汰不合格應聘者的問題。它們按照從易到難的順序排列。當您問到關於主鍵和外鍵的問題時,後面的問題都十分有難度,因為答案可能會更難解釋和說明,尤其是在面試的情形下。

您能向我簡要敘述一下SQL Server 2000中使用的一些資料庫對象嗎?

您希望聽到的答案包括這樣一些對象:表格、視圖、用戶定義的函數,以及存儲過程;如果他們還能夠提到像觸發器這樣的對象就更好了。如果應聘者不能回答這個基本的問題,那麼這不是一個好兆頭。

什麼是索引?SQL Server 2000里有什麼類型的索引?

任何有經驗的資料庫開發人員都應該能夠很輕易地回答這個問題。一些經驗不太多的開發人員能夠回答這個問題,但是有些地方會說不清楚。

簡單地說,索引是一個數據結構,用來快速訪問資料庫表格或者視圖里的數據。在SQL Server里,它們有兩種形式:聚集索引和非聚集索引。聚集索引在索引的葉級保存數據。這意味著不論聚集索引里有表格的哪個(或哪些)欄位,這些欄位都會按順序被保存在表格。由於存在這種排序,所以每個表格只會有一個聚集索引。非聚集索引在索引的葉級有一個行標識符。這個行標識符是一個指向磁碟上數據的指針。它允許每個表格有多個非聚集索引。

NULL是什麼意思?

NULL(空)這個值是資料庫世界裡一個非常難纏的東西,所以有不少應聘者會在這個問題上跌跟頭您也不要覺得意外。

NULL這個值表示UNKNOWN(未知):它不表示「」(空字元串)。假設您的SQL Server資料庫里有ANSI_NULLS,當然在默認情況下會有,對NULL這個值的任何比較都會生產一個NULL值。您不能把任何值與一個 UNKNOWN值進行比較,並在邏輯上希望獲得一個答案。您必須使用IS NULL操作符。

什麼是主鍵?什麼是外鍵?

主鍵是表格里的(一個或多個)欄位,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關系的約束。這種關系一般都涉及一個表格里的主鍵欄位與另外一個表格(盡管可能是同一個表格)里的一系列相連的欄位。那麼這些相連的欄位就是外鍵。

什麼是觸發器?SQL Server 2000有什麼不同類型的觸發器?

讓未來的資料庫開發人員知道可用的觸發器類型以及如何實現它們是非常有益的。

觸發器是一種專用類型的存儲過程,它被捆綁到SQL Server 2000的表格或者視圖上。在SQL Server 2000里,有INSTEAD-OF和AFTER兩種觸發器。INSTEAD-OF觸發器是替代數據操控語言(Data Manipulation Language,DML)語句對表格執行語句的存儲過程。例如,如果我有一個用於TableA的INSTEAD-OF-UPDATE觸發器,同時對這個表格執行一個更新語句,那麼INSTEAD-OF-UPDATE觸發器里的代碼會執行,而不是我執行的更新語句則不會執行操作。

AFTER觸發器要在DML語句在資料庫里使用之後才執行。這些類型的觸發器對於監視發生在資料庫表格里的數據變化十分好用。

您如何確一個帶有名為Fld1欄位的TableB表格里只具有Fld1欄位里的那些值,而這些值同時在名為TableA的表格的Fld1欄位里?

這個與關系相關的問題有兩個可能的答案。第一個答案(而且是您希望聽到的答案)是使用外鍵限制。外鍵限制用來維護引用的完整性。它被用來確保表格里的欄位只保存有已經在不同的(或者相同的)表格里的另一個欄位里定義了的值。這個欄位就是候選鍵(通常是另外一個表格的主鍵)。

另外一種答案是觸發器。觸發器可以被用來保證以另外一種方式實現與限制相同的作用,但是它非常難設置與維護,而且性能一般都很糟糕。由於這個原因,微軟建議開發人員使用外鍵限制而不是觸發器來維護引用的完整性。

對一個投入使用的在線事務處理表格有過多索引需要有什麼樣的性能考慮?

您正在尋找進行與數據操控有關的應聘人員。對一個表格的索引越多,資料庫引擎用來更新、插入或者刪除數據所需要的時間就越多,因為在數據操控發生的時候索引也必須要維護。

您可以用什麼來確保表格里的欄位只接受特定范圍里的值?

這個問題可以用多種方式來回答,但是只有一個答案是「好」答案。您希望聽到的回答是Check限制,它在資料庫表格里被定義,用來限制輸入該列的值。

觸發器也可以被用來限制資料庫表格里的欄位能夠接受的值,但是這種辦法要求觸發器在表格里被定義,這可能會在某些情況下影響到性能。因此,微軟建議使用Check限制而不是其他的方式來限制域的完整性。

返回參數和OUTPUT參數之間的區別是什麼?

如果應聘者能夠正確地回答這個問題,那麼他的機會就非常大了,因為這表明他們具有使用存儲過程的經驗。

返回參數總是由存儲過程返回,它用來表示存儲過程是成功還是失敗。返回參數總是INT數據類型。

OUTPUT參數明確要求由開發人員來指定,它可以返回其他類型的數據,例如字元型和數值型的值。(可以用作輸出參數的數據類型是有一些限制的。)您可以在一個存儲過程里使用多個OUTPUT參數,而您只能夠使用一個返回參數。

什麼是相關子查詢?如何使用這些查詢?

經驗更加豐富的開發人員將能夠准確地描述這種類型的查詢。

相關子查詢是一種包含子查詢的特殊類型的查詢。查詢里包含的子查詢會真正請求外部查詢的值,從而形成一個類似於循環的狀況。

關於面試過程的思考

這些問題只不過是確定一個SQL Server資料庫開發人員是否合格的起點。根據應聘者對上面這些問題的回答情況,我可能會要求他們參加我的TSQL編程考試,這一般是一套根據不同情況進行的10到12個資料庫查詢。

您需要自己決定將要僱用的開發人員具有什麼樣的專業技能。然後,需要通過自己的經驗、判斷以及在面試時對應聘者的感受(來做最終決定)。

您在面試資料庫開發人員時一般會問哪些問題呢?讓我們一起來討論一下吧。

Tim Chapman是肯塔基州路易維爾市一家銀行的SQL Server資料庫管理員,他有超過7年的行業經驗。他還通過了微軟SQL Server 2000和SQL Server 2005的認證。

❷ sql求平均值

三個月總的的平均值嗎?


select姓名,avg(值)as平均值fromtb
groupby姓名

❸ SQL資料庫筆試題

1 前面加createview 視圖名 as 2 sele 學號 from 學生表 where 學號 in(sele max(成績) from 成績) group by 學號3 類似

❹ 求ASP.NET,C#,SQL一些面試題! [email protected]謝謝了,麻煩了

SQL Server筆試題解答

本文是對SQL筆試題的解答……

一 單詞解釋(2分/個) 34

Data 數據Database 資料庫RDBMS 關系資料庫管理系統GRANT 授權

REVOKE取消許可權DENY 拒絕許可權DECLARE 定義變數PROCEDURE存儲過程

Transaction事務TRIGGER觸發器繼續 continue唯一 unqiue

主鍵 primary key標識列 identity外鍵 foreign kdy 檢查 check

約束 constraint

二 編寫SQL語句(5分/題)50

1) 創建一張學生表,包含以下信息,學號,姓名,年齡,性別,家庭住址,聯系電話

Create table stu (學號 int ,

姓名 varchar(8),

年齡 int,

性別 varchar(4),

家庭地址 varchar(50),

聯系電話 int

);

2) 修改學生表的結構,添加一列信息,學歷

Alter table stu add 學歷 varchar(6);

3) 修改學生表的結構,刪除一列信息,家庭住址

Alter table stu drop column 家庭地址

4) 向學生表添加如下信息:

學號 姓名年齡性別聯系電話學歷

1A22男123456小學

2B21男119中學

3C23男110高中

4D18女114大學

Insert into stu values(1,』A』,22,』男』,123456,』小學』)

Insert into stu values(2,』B』,21,』男』,119,』中學』)

Insert into stu values(3,』C』,23,』男』,110,』高中』)

Insert into stu values(4,』D』,18,』女』,114,』大學』)

5) 修改學生表的數據,將電話號碼以11開頭的學員的學歷改為「大專」

Update stu set 學歷=』大專』 where 聯系電話 like 『11%』

6) 刪除學生表的數據,姓名以C開頭,性別為『男』的記錄刪除

Delect from stu where 性別=』男』 and 姓名 like 『c%』

7) 查詢學生表的數據,將所有年齡小於22歲的,學歷為「大專」的,學生的姓名和學號示出來

Select 姓名,學號 from stu where 年齡<22 and 學歷=』大專』

8) 查詢學生表的數據,查詢所有信息,列出前25%的記錄

Select top 25 percent * from stu

9) 查詢出所有學生的姓名,性別,年齡降序排列

Select 姓名,性別 from stu order by 年齡 desc

10) 按照性別分組查詢所有的平均年齡

Select avg(年齡) from stu group by 性別

三 填空(3分/題) 36

1) 索引分為__聚集索引___和__非聚集索引__在一張表上最多可以創建1個 聚集索引_索引。但是可以創建_249個非 聚集索引 索引。

2) 系統存儲過程_sp-helptext__是用來顯示規則,默認值,未加密的存儲過程,用戶定義函數,觸發或視圖的文本

3) 事務開始:begin Transction

提交事務:commit Transction

回滾事務:rollback Transction

四 問答題(5分/題)60

1) 資料庫包含哪些那幾種後綴名的文件必須,這些文件分別存放在什麼的信息?

主要數據文件(.mdf) 包含數據用戶收集的信息,還有資料庫其他相關的信息,

日誌數據文件(.ndf) 存放用戶對資料庫的增刪改查的信息,用於備份恢復使用

2) TRUNCATE TABLE 命令是什麼含義?和Delete from 表名有什麼區?

TRUNCATE TABLE: 提供了一種刪除表中所有記錄的快速方法

Delete from 表名:可以刪除表的一個或多條記錄

3) 說出以下聚合數的含義:avg ,sum ,max ,min , count ,count(*)

AVG:求平均值

SUM:求和

MAX:求最大值

MIN:求最小值

COUNT(*):返回所有行數

COUNT返回滿足指定條件的記錄值

4) inner join 是什麼意思?作用是什麼?寫出基本語法結構

INNER JOIN 內聯接,用於返回兩個表中要查詢的列數據通信

Select * from 表名1 inner join 表名2 on 條件表達式

5) 左向外聯接,右向外聯接,全聯接的關健字如何寫?

Left outer join 左向外聯接

Right outer join 右向外聯接

Full outer join 全聯接

6) 子查詢分為幾類,說明相互之間的別

了查詢分三種基本子查詢: 1.使用in 查詢返回一列或更多值

2.比較運算符,返回單個值勤做為外查詢的參數

3.用exists 查詢時相當於進行一次數據測試

7) 實現實體完整性,實現域完整性,實現 完整性(引用完整性),實現自定義完整性分別使用什麼手段?

實現實體完整性: 主鍵約束 唯一約束 標識列

實現域完整性: 默認值約束 檢查約束 非空屬性

引和完整性: 外鍵引用

8) 視圖可以更新嗎?會影響到實際表嗎?

視圖是可以更新的,視圖只是基於基本表上的虛擬表,對視圖的更新會直接影響到實際表

9) 談談這樣幾個角色, dbo , Sysadmin public

Dbo : 是資料庫的擁有者,對資料庫擁有所有操作的許可權

Sysadmin : 可以對SQL SERVER執行任何活動

Public : 自動創建的,能捕獲資料庫中用戶的所有默認許可權

10) 何為動態游標?何為靜態游標?

動態游標與靜態游標相對,反映結果集中所做的所有更改,

靜態游標的結果集在游標打開時,建立在tempdb中,總按照游標打開時的原樣顯示

11) 什麼是存儲過程?為什麼存儲過程要比單純的Sql 語句執行起來要快?

存儲過程:是一組預先編譯好的T-SQL代碼

在創建存儲過程時經過了語法和性能優化,執行不必重復的步驟,使用存儲過程可提高運行效率

12)什麼是Inserted 表 ?什麼是Deleted 表?

Inserted表用於存儲inserted和update語句影響的副本

Deleted 表用於存儲delect 和 update語句影響的行的副本

❺ 關於編程SQL的題目,求用sql語言算出平均值,以及高出平均值的CustomerNo, FirstName,Lastname. 要過程

select EmployeeNo,FirstName,LastName from table where Salary>(select avg(Salary) from table)

❻ sql筆試題

兩個表第一個store(store_id,city,space)
第二個employee(store_id,emp_id,salary)
1、每家店的平均工資
select t1.store_id,AVG(salary) from store t1 inner join employee t2 on t1.store_id=t2.store_di
group by t1.store_id

2、每個城市的平均工資
select t1.city,AVG(salary) from store t1 inner join employee t2 on t1.store_id=t2.store_di
group by t1.city
3、查找該城市存在員工工資低於1000的城市信息
select distinct t1.city
from store t1 inner join employee t2 on t1.store_id=t2.store_id
where t2.salary<1000

4、查找城市其職工工資有低於1000的該城市職工平均工資
select t1.city,avg(t2.salary)
from store t1 inner join employee t2 on t1.store_id=t2.store_id
where exists(select * from employee t3
where t1.store_id=t3.store_id and t3.salary<1000)
group by t1.city

其他的自己看吧,比較簡單
5、每個城市工資最高的員工信息
select t2.city,t1.* from employee t1 inner join store t2 on t1.store_id=t2.store_id
where exists(
select * from (
select t1.city,max(salary) from store t1 inner join employee t2 on t1.store_id=t2.store_di
group by t1.city) tt where t1.city=tt.city and t2.salary=tt.salary)
6、查詢每個城市的員工總工資,總的店面面積(?),門店的數量,員工數量,最高/最低工資數

❼ sql查找數據並計算平均值

1、select
avg(d)
from
a
--計算表a中
欄位d的平均值
2、select
b,avg(d)
from
a
group
by
b
--
表a


b分組,計算每組的平均值
3、select
avg(d)
from
a
where
b
=
1
--計算表a中
欄位b
=
1的記錄中
d
的平均值

❽ 關於SQL語句的編寫,平均值,最大值的求解。如果會教教我。(表沒有給出)大概題目如下:

絕對是 學校老師出的 考試題,我們以前老師也是這么出題的,只要 思路准確就 ok
d
select avg(價格) from 表 where 製造商='D'
e
select avg(價格) from 表 where 商品類型=PC group by 電腦速度
f
select 製造商,avg(價格) where 商品類型=手提電腦 group by 製造商
g
select 製造商 from 表 where 商品類型=PC group by 製造商,PC型號 having count(*)>=3
h
select 製造商,Max(價格) from 表 where 商品類型=PC group by 製造商
i
select avg(價格) from 表 where 商品類型=PC and 電腦速度>800

❾ SQL里求每月平均值

select 用戶編號,年份,(用量1+用量2+…用量12)/12

FROM 年段十二月用量

以上是不考慮用量為NULL的情況,直接每個用戶除以12~~
如果需要考慮每個月有的沒有用量,那就需要判斷。比如

select 用戶編號,年份,(用量1+用量2+…用量12)/(CASE WHEN 用量1 IS NULL THEN 0 ELSE 1 END+CASE WHEN 用量2 IS NULL THEN 0 ELSE 1 END+…CASE WHEN 用量12 IS NULL THEN 0 ELSE 1 END)

FROM 年段十二月用量

❿ SQL求總分及平均值

SQL求總分及平均值的方法。

如下參考:

1.打開資料庫軟體,添加資料庫,右鍵點擊並選擇新查詢。