1. java面試題中一般資料庫會問什麼內容
資料庫基礎(面試常見題)
一、資料庫基礎
1. 數據抽象:物理抽象、概念抽象、視圖級抽象,內模式、模式、外模式
2. sql語言包括數據定義、數據操縱(Data Manipulation),數據控制(Data Control)
數據定義:Create Table,Alter Table,Drop Table, Craete/Drop Index等
數據操縱:Select ,insert,update,delete,
數據控制:grant,revoke
3. SQL常用命令:
CREATE TABLE Student(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(50) NOT NULL);//建表
CREATE VIEW view_name AS
Select * FROM Table_name;//建視圖
Create UNIQUE INDEX index_name ON TableName(col_name);//建索引
INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入
INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入視圖實際影響表
UPDATE tablename SET name=』zang 3』 condition;//更新數據
DELETE FROM Tablename WHERE condition;//刪除
GRANT (Select,delete,…) ON (對象) TO USER_NAME [WITH GRANT OPTION];//授權
REVOKE (許可權表) ON(對象) FROM USER_NAME [WITH REVOKE OPTION] //撤權
列出工作人員及其領導的名字:
Select E.NAME, S.NAME FROM EMPLOYEE E S
WHERE E.SUPERName=S.Name
4. 視圖:
5. 完整性約束:實體完整性、參照完整性、用戶定義完整性
2. 通常去面試,面試官會問,資料庫會的怎麼樣
如果是DBA的話可能會深一些,如果面試程序員之類的應該不會問太深。
大都是資料庫常用的一些,比如自定義,LEFT ,RIGHT,INNER JOIN區別之類。
對於程序員就夠了。
3. 資料庫的面試會問什麼樣的問題
目前在職場中很難找到非常合格的資料庫開發人員。有人說:「sql開發是一門語言,它很容易學,但是很難掌握。」
在面試應聘的sql Server資料庫開發人員時,我運用了一套標準的基準技術問題。下面這些問題是我覺得能夠真正有助於淘汰不合格應聘者的問題。它們按照從易到難的順序排列。當你問到關於主鍵和外鍵的問題時,後面的問題都十分有難度,因為答案可能會更難解釋和說明,尤其是在面試的情形下。
你能向我簡要敘述一下sql Server 2000中使用的一些資料庫對象嗎?
你希望聽到的答案包括這樣一些對象:表格、視圖、用戶定義的函數,以及存儲過程;如果他們還能夠提到像觸發器這樣的對象就更好了。如果應聘者不能回答這個基本的問題,那麼這不是一個好兆頭。
null是什麼意思?
null(空)這個值是資料庫世界裡一個非常難纏的東西,所以有不少應聘者會在這個問題上跌跟頭您也不要覺得意外。
null這個值表示unknown(未知):它不表示「」(空字元串)。假設您的sql Server資料庫里有ANSI_nullS,當然在默認情況下會有,對null這個值的任何比較都會生產一個null值。您不能把任何值與一個 unknown值進行比較,並在邏輯上希望獲得一個答案。您必須使用IS null操作符。
什麼是索引?sql Server 2000里有什麼類型的索引?
任何有經驗的資料庫開發人員都應該能夠很輕易地回答這個問題。一些經驗不太多的開發人員能夠回答這個問題,但是有些地方會說不清楚。
簡單地說,索引是一個數據結構,用來快速訪問資料庫表格或者視圖里的數據。在sql Server里,它們有兩種形式:聚集索引和非聚集索引。聚集索引在索引的葉級保存數據。這意味著不論聚集索引里有表格的哪個(或哪些)欄位,這些欄位都會按順序被保存在表格。由於存在這種排序,所以每個表格只會有一個聚集索引。非聚集索引在索引的葉級有一個行標識符。這個行標識符是一個指向磁碟上數據的指針。它允許每個表格有多個非聚集索引。
什麼是主鍵?什麼是外鍵?
主鍵是表格里的(一個或多個)欄位,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關系的約束。這種關系一般都涉及一個表格里的主鍵欄位與另外一個表格(盡管可能是同一個表格)里的一系列相連的欄位。那麼這些相連的欄位就是外鍵。
什麼是觸發器?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限制而不是其他的方式來限制域的完整性。
<b?返回參數和output參數之間的區別是什麼?>如果應聘者能夠正確地回答這個問題,那麼他的機會就非常大了,因為這表明他們具有使用存儲過程的經驗。
返回參數總是由存儲過程返回,它用來表示存儲過程是成功還是失敗。返回參數總是int數據類型。
OUTPUT參數明確要求由開發人員來指定,它可以返回其他類型的數據,例如字元型和數值型的值。(可以用作輸出參數的數據類型是有一些限制的。)您可以在一個存儲過程里使用多個OUTPUT參數,而您只能夠使用一個返回參數。
什麼是相關子查詢?如何使用這些查詢?
經驗更加豐富的開發人員將能夠准確地描述這種類型的查詢。
相關子查詢是一種包含子查詢的特殊類型的查詢。查詢里包含的子查詢會真正請求外部查詢的值,從而形成一個類似於循環的狀況。</b?返回參數和output參數之間的區別是什麼?>
4. 資料庫面試題1
select a.產品名,
isnull(b1.產品數量,0) as 倉庫id_1,
isnull(b2.產品數量,0) as 倉庫id_2,
isnull(b3.產品數量,0) as 倉庫id_3,
isnull(b4.產品數量,0) as 倉庫id_4
from
(select distinct 產品名 from tablename) a
left join tablename b1 on b1.產品名=a.產品名 and b1.倉庫id=1
left join tablename b2 on b2.產品名=a.產品名 and b2.倉庫id=2
left join tablename b3 on b3.產品名=a.產品名 and b3.倉庫id=3
left join tablename b4 on b4.產品名=a.產品名 and b4.倉庫id=4
5. 求資料庫工程師面試的自我介紹
尊敬的領導:
大家下午好!很榮幸能在這裡面試,讓我有向各位考官學習與交流的機會,現將自己的情況簡要介紹一下:我叫優就業,優是優秀的優,就是就業的就,業是畢業的業。我是**工業工程職業技術學院0*屆計算機網路專業應屆畢業生.即將面臨畢業,我渴望找到一份適合自己並值得為其奉獻一切的工作。
我有較好的計算機知識和應用能力,能熟練的進行Windows2000和LINUX操作,並能使用VB,DELPHI等語言編程.能運用網頁三劍客Photoshop等軟體進行相關工作。
我的專長是資料庫開發,我希望能從事這方面的工作.我曾開發過多個系統,基中有,成績管理系統,人事檔案管理系統,工資管理系統等等.
在大學期間,每個學期都獲得了獎學金,在學習理論的同時,我還培養自己的動手動力,先後的參加過專業技能和電腦操作等比賽,在校12屆文化藝術節中四項全能獲得三等獎。還擔任過班長,具有很強的組織和協調能力。很強的事業心和責任感使我能夠面對任何困難和挑戰。
最後,我想總結一下我的工作特點。第一是團隊協作意識強,善於與人交流和溝通;第二是動手能力和學習能力突出;第三是做事穩健,態度認真,有一定的組織協調 能力;第四是考慮問題全面、仔細,做事有自己明確的想法和計劃。我想在走上工作崗 位之後,我可以以最快的速度適應工作環境,不斷挖掘自己的能力,完善自己,為企業 創造效益。我想加入XX公司是因為我喜歡我的專業,也很看好XX公司的未來發展,在這里我可以學以致用,這讓我有很大的成就感和幸福感。同時我也很欣賞 XX公司的企業文化,很喜歡XX公司的工作環境。我願意成為企業一員,為企業的發展貢獻自己的一份力量。 我的職業生涯目標是,做一個既懂技術,又懂業務的復合型人才。
6. 資料庫開發工程師面試題
select LESSON_NAME as '科目',
max(case when sequence = 1 then NameGrade else null end) as '第一名(姓名+分數)',
max(case when sequence = 2 then NameGrade else null end) as '第二名(姓名+分數)',
max(case when sequence = 3 then NameGrade else null end) as '第三名(姓名+分數)'
(
select LESSON_NAME,STU_NAME+','+convert(varchar,GRADE) as NameGrade,sequence
(select b.LESSON_NAME,c.STU_NAME,a.GRADE,row_number() over(order by a.GRADE Desc, c.STU_NAME asc) as sequence from score a
inner join lession b on (a.LESSION_ID = b.LESSION_ID)
inner join student c on (a.STU_ID = c.STU_ID) ) d
where sequence < 4
) e
group by LESSON_NAME
order by case(when LESSON_NAME = '語文' then 1,
when LESSON_NAME = '數學' then 2,
when LESSON_NAME = '英語' then 3,
when LESSON_NAME = '物理' then 4,
when LESSON_NAME = '化學' then 5,
else 9999 end)
大概就是這個樣子,沒執行,你自己再調試下 。
如果兩個人相同分數,根據名字順序排列
7. 面試資料庫實習生應該問哪些關於技術的問題
主要有:
a.關系型資料庫理論基礎;
b.如果資料庫是Oracle,那隊PL/SQL的掌握程度如何,還可以當場舉個例子,讓應聘者用紙寫下來;如果資料庫是MS SQL,那麼對T-SQL掌握程度如何,同PL/SQL類似,舉例實現;
c.同一個問題,分別用PL/SQL和Oracle實現;
d.編程基礎如何,對C/Java的掌握如何,還有很多細節,暫不展開;
e.PL/SQL和T-SQL的游標有什麼不一樣;
f.重點問PL/SQL或者T-SQL的存儲過程、函數;
g.遇到一個新的問題,該從哪些方面尋求幫助,或者解決思路
8. 前幾天面試,面試官問會不會用資料庫,完全不懂這資料庫指的是什麼
簡單來說資料庫就是個電腦中用於儲存數據的軟體工具;
你說的文案類的工作,可能就只是要求一些簡單的資料庫操作,因為資料庫中可以用特定的方法,對儲存的數據進行查詢,更新及插入操作(也就是對儲存數據的維護)
例如:
如果公司的人事資料在資料庫中建立儲存,就可以通過資料庫查詢人員的相關信息(例如入職日期,學歷,出生年月等),也可以統計在1個月中入職多少,離職多少的信息
有問題,請繼續追問,沒問題,請採納,謝謝~
9. 資料庫面試題!!!!
你可以把欄位值先轉化一下,在輸入資料庫
$a為原始值
$b = sprintf('%08s',$a);
把$b錄入資料庫
10. Mysql 資料庫面試問題
select
t1.non_seller,
t3.coupon,
ifnull(sum(t2.bal),0)
from
(select seller,coupon from
(select distinct seller from t2) c,
(select distinct coupon from t2) d
) t3
left join t2 on
t3.seller=t2.seller and t3.coupon=t2.coupon
join t1
on t1.seller=t3.seller
group by
t1.non_seller,t3.coupon
order by t3.coupon,t1.non_seller