資料庫筆試面試
1. 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、視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。
2. 資料庫面試題!!!!
表t 欄位 d(varchar8)
select RIGHT('00000000' + d ,8) from t
update t
set d = RIGHT('00000000' + d ,8)
3. 有關資料庫的筆試題
確實,這個問題得用點時間。我先給你開個頭,有空給你補上:
問題一:(需要說明下表和欄位主鍵就OK了)
需要建三個表:具體欄位可以自己再加
程序員信息表、部門表、上級部門表
**************************************
CREATE TABLE [Programmer] (
[ProgrammerCode] [int] NOT NULL ,
[ProgrammerName] [char] (10) COLLATE Japanese_CI_AS NULL ,
[ProgrammerSex] [int] NOT NULL ,
[BelongBranch] [int] NOT NULL ,
[other] [char] (10) COLLATE Japanese_CI_AS NULL ,
CONSTRAINT [PK_Programmer] PRIMARY KEY CLUSTERED
(
[ProgrammerCode]
) ON [PRIMARY]
) ON [PRIMARY]
GO
*****************************************
CREATE TABLE [Branch] (
[BranchCode] [int] NOT NULL ,
[BranchName] [char] (10) COLLATE Japanese_CI_AS NOT NULL ,
[BelongTo] [int] NOT NULL ,
[OtherInformation] [char] (10) COLLATE Japanese_CI_AS NULL ,
CONSTRAINT [PK_Branch] PRIMARY KEY CLUSTERED
(
[BranchCode]
) ON [PRIMARY]
) ON [PRIMARY]
GO
***************************************
CREATE TABLE [LeaderBranch] (
[LeaderBranch] [int] NOT NULL ,
[LeaderBranchName] [char] (10) COLLATE Japanese_CI_AS NOT NULL ,
[OtherInformation] [char] (10) COLLATE Japanese_CI_AS NULL ,
CONSTRAINT [PK_LeaderBranch] PRIMARY KEY CLUSTERED
(
[LeaderBranch]
) ON [PRIMARY]
) ON [PRIMARY]
GO
******************************************************
問題2:
各部門人數查詢:
SELECT BranchName,count (*) AS 程序員人數
FROM Programmers p INNER JOIN Branch b ON p.BelongBranch = b.BranchCode
GROUP BY BranchName
上級部門人數查詢:
SELECT LeaderBranchName,count (*) AS 程序員人數
FROM Programmers p INNER JOIN Branch b ON p.BelongBranch = b.BranchCode
INNER JOIN LeaderBranch l ON b.BelongTo = l.LeaderBranch
GROUP BY l.LeaderBranchName
——————————————————————————————
問題三有空再給你答,呵呵~~
4. 三分鍾資料庫面試題
SELECT last_name,salary FROM employees WHERE salary=(SELECT max(salary) FROM employees);
5. 一道資料庫的面試題
看到這個題目首先想到的就是對基本函數的考核:如何求平均值,版求出平均值如何篩選大權於70的值,如何分組等等
求平均值AVG(score),或者SUM(score)/submun
select name,AVG(score) from tab_sco group by name having AVG(score)>70
6. 如何快速提高資料庫的知識,應付面試和筆試的
買點書看看,網上有教學,主要是多操作,面試就需要口才和反應了。平時多放鬆心情,打好基礎,迎接以後的考試,呵呵,祝你考過,
7. 資料庫面試題:
create database aaa;
create table users(id int NOT NULL AUTO_INCREMENT,
user_name char(10),money char(10),add_time datetime
PRIMARY KEY (`id`))ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
3.insert into users values(2,'a1','a11',current_date),(3,'a1','a11',current_date),(4,'a1','a11',current_date),(5,'a1','a11',current_date),(6,'a1','a11',current_date),(7,'a1','a11',current_date),(8,'a1','a11',current_date),(9,'a1','a11',current_date),(10,'a1','a11',current_date),(11,'a1','a11',current_date);
4.參考第二步
5.參考第三步
6.select a.username,a.money,b.email,b.user_phone,b.weigh from users a,user_info b
where a.id=b.id and a.id=XXX(你指定的);
7.mysqlmp -uroot -p aaa > /tmp/aaa.sql (需要輸入密碼)
我用的是mysql上的寫法
8. 資料庫面試題
createdatabaseaaa;createtableusers(idintNOTNULLAUTO_INCREMENT,user_namechar(10),moneychar(10),add_timedatetimePRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;3.insertintousersvalues(2,'a1','a11',current_date),(3,'a1','a11',current_date),(4,'a1','a11',current_date),(5,'a1','a11',current_date),(6,'a1','a11',current_date),(7,'a1','a11',current_date),(8,'a1','a11',current_date),(9,'a1','a11',current_date),(10,'a1','a11',current_date),(11,'a1','a11',current_date);4.參考第二步5.參考第三步6.selecta.username,a.money,b.email,b.user_phone,b.weighfromusersa,user_infobwherea.id=b.idanda.id=XXX(你指定的);7.mysqlmp-uroot-paaa>/tmp/aaa.sql(需要輸入密碼)我用的是mysql上的寫法
9. SQL資料庫筆試題
create procere ttt
@ii int, /需要查詢的課程名稱
@nn varchar(10) output /輸出變數
as
select @nn=max(課程表.成績)
from 成績表
where 成績表.課程=@ii
go
大概如此回 多設置幾個變數,把剩下答的查出來就ok了