資料庫sql筆試題
1 前面加createview 視圖名 as 2 sele 學號 from 學生表 where 學號 in(sele max(成績) from 成績) group by 學號3 類似
B. sql筆試題,寫出這個sql
此題的考點是行轉列,可用case when +group by 實現
具體如下
select
s.userid,
max(case when s.typeid=1 then s.vaule END) 手機號碼,
max(case when s.typeid=2 then s.vaule END) 郵箱地址,
max(case when s.typeid=3 then s.vaule END) 固定號碼,
max(case when s.typeid=4 then s.vaule END) 微博名字
from (select a.userid,b.typeid,b.typename,a.vaule from test.messge a,test.baseon b
where a.typeid=b.typeid)s
GROUP BY s.userid
C. sql server 筆試題,求答案,急!!!!!!!!!!!!!!
這套筆試題你想拿上100分,也該懸賞上100分。
輸上基本上都有答案,看看SQL2005的書
create database STU --創建資料庫
use login1
go
create table STUDENT --建表
(
SNO char(10) primary key,
SNAME varchar(8),
SEX char(2) default 男,--默認值為男,只能輸入男或女
SAGE int,
SDEPT VARCHAR(20)
)
別的表類似。
D. 面試題目(sql)
1、忍不住想說一句,因為第一題中的欄位類型是
【日期型】,而各種資料庫操作日期型數據有不同的方法,沒有一種共通的方法,所以脫離了資料庫而言沒有一種共通的sql。
2、select
ID,NAME,ADDRESS,PHONE,LOGDATE
from
T
where
ID
in(
select
ID
from
T
group
by
NAME
having
count(*)>1)
order
by
NAME;
3、delete
from
T
where
ID
not
in
(select
min(id)
from
T
group
by
name);
4、update
T
set
T.ADDRESS=(select
E.ADDRESS
from
E
where
E.NAME=T.NAME),
T.PHONE=(select
E.PHONE
from
E
where
E.NAME=T.NAME);
5、這個不同的資料庫也有不同的處理方法,不能脫離資料庫談了。
如:SqlServer或者access可以使用
top
oracle可以使用
rownum
等
---
以上,希望對你有所幫助。
E. SQL筆試題尋求答案
select count(*) ,case Fwage > 5000 then 1 else 0 end as type1, case fage > 32 then 1 else 0 end as type2 from emploreeinfo group by type1,type2
有個問題啊 就是你的month是什麼形式的 年月日 還是數字形式 我按數字形式給你寫一個啊 如果是年-月的話 回頭再給你寫
我假設是同一年了 如果不是可以在left join 的on後面改條件
select s1.month,sum(s1.consume) as 當月消費, sum(s2.consume) as 上月消費, sum(s3.consume) as 下月消費, from student s1 left join student s2 on s1.month=s2.month+1 left join student s3 on s1.month=s3.month-1 group by s1.month
F. 誰有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的認證。
G. SQL筆試題
一
一般不用一句話寫
數據部分 select date, sum(num) as num from table group by date
合計部分 select sum(num) as sum from table
如果非要和在一起顯示只能這樣
select date, sum(num) as num from table group by date
union
selec '合計' as date, sum(num) as num from table
二
假設你的月份是數字的話
select t1.person, t1.month, t1.income as 本月收入, t2.income as 上月收入, t2.income as 下月收入 from table t1 inner join table t2 on t1.month=t2.month+1 inner and t1.person=t2.person inner join table t3 on t1.month=t3.month-1 and t1.person=t3.person
假設月份是日期格式(yyyy-mm-dd)
select t1.person, t1.month, t1.income as 本月收入, t2.income as 上月收入, t2.income as 下月收入 from table t1 inner join table t2 on datediff(m,t2.month,t1.month)=1 inner and t1.person=t2.person inner join table t3 on datediff(m,t1.month,t3.month)=1 and t1.person=t3.person
如果能給出月份的實際數據會比較好給你個准確的答案
H. SQL資料庫面試題 急急急
a)select pname as '商品名',avg(qty) as 平均銷售量 from s,p,m where m.city='上海' and s.mno=m.mno and p.pno=s.pno,select p.Pno,p.pname,sum(s.qty)
from s left join p on s.pno=p.pno left join m on p.Mno=m.Mno
where m.city='上海市'
group by p.Pno,p.pname,p.city,p.color
b)、先刪除Sale表的外鍵PNO,再刪除gds表。
c)聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系
區別:1、視圖是已經編譯好的sql語句。而表不是
2、視圖沒有實際的物理記錄。而表有。
3、表是內容,視圖是窗口
4、表只用物理空間而視圖不佔用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改
5、表是內模式,視圖是外模式
6、視圖是查看數據表的一種方法,可以查詢數據表中某些欄位構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。
7、表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
8、視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。
I. sql筆試題,幫幫小弟!
二個我都有在我的電腦上測試,都是可以的,請參考。
第一題的答案
SELECT a, COUNT(*)
FROM (SELECT a = CASE WHEN score >= 0 AND
score < 10 THEN '0-9' WHEN score >= 10 AND
score < 20 THEN '10-19' WHEN score >= 20 AND
score < 30 THEN '20-29' WHEN score >= 30 AND
score < 40 THEN '30-39' WHEN score >= 40 AND
score < 50 THEN '40-49' WHEN score >= 50 AND
score < 60 THEN '50-59' WHEN score >= 60 AND
score < 70 THEN '60-69' WHEN score >= 70 AND
score < 80 THEN '70-79' WHEN score >= 80 AND
score < 90 THEN '80-89' WHEN score >= 90 AND
score < 100 THEN '90-99' ELSE '100' END
FROM student) a
GROUP BY a
第二題的答案
SELECT TOP 10 ip, countip
FROM (SELECT ip, COUNT(*) AS countip
FROM records
GROUP BY ip) a
ORDER BY countip DESC
J. sql筆試題三表聯查求解
select sum (m.order_price) from (select * from sellorders m ,(select * from branch b, storehouse n where b.branch_id = n.branch_id)t where m.store_id = t.store_id and m.delivery_state = 15 and (m.order_price>500) and (date(m.order_time) between '2015-03-01' and '2015-03-31') and b.branch_id = ?)
傳個分公司ID參數就能查到這個公司的了。