SQL考試與答案3, 4 , 5(合集版,三套卷,含從別人問到的考試經(jīng)驗(yàn))

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 卷3
筆試題
1、數(shù)據(jù)庫的完整性有哪些?
域完整性:not?null、check、default
參照完整性:外鍵
實(shí)體完整性:主鍵、唯一、自增
2、什么是主鍵?
信息不能重復(fù),唯一的,不能為null,一個表中只有一個主鍵,用于識別每一條信息
3、哪些關(guān)鍵字可以實(shí)現(xiàn)范圍查詢??
between? ...??and...
4、什么是外鍵?
通過外鍵可以連接另一張表,表示他們之間用于主外鍵關(guān)系,可以將兩張表通過sql語句作為一張表進(jìn)行操作
5、寫出5個常見的數(shù)據(jù)庫軟件?
Mysql?sqlserver??db2?sqllite??oracle?
6、在SQLSERVER中需要在性別這一列添加檢查約束,限制值為”男”或”女”,寫出關(guān)鍵代碼?
Sex??check(sex=’男or?sex=’女’)
7、左連接查詢的語法是什么?
Select?*?from?a?left?join?b?on?a.id=b.id
8、什么是實(shí)體完整性?
為了保證數(shù)據(jù)的完整
主鍵、唯一、自增
9.求一組數(shù)據(jù)的平均數(shù)使用哪個函數(shù)?
AVG(列名)
10、排序的語法是什么?
體現(xiàn)語法的示例代碼:Select?*?from??a ??Order by ?age ?asc
體現(xiàn)語法的關(guān)鍵語法示例模版:Order by列名?desc(倒序)? asc(升序)
?
?(問老師與學(xué)長助教后,他們說 ,這類題,可以寫示例,也可以寫含文字的語法,可以寫全,也可以只寫關(guān)鍵的部分。)
?
?
機(jī)試題
1、?使用命令創(chuàng)建一個名字為stud的數(shù)據(jù)庫
?create database?stud
2、?使用建表語句創(chuàng)建一個student表,字段如下:
create?table?student(
Id??nvarchar(50),
Name??nvarchar(20),
Gender?nvarchar(10),
Height??float,
Weight??float,
Age??int,
Class??nvarchar(50)
)
?
3、使用sql在表中插入數(shù)據(jù)如下(需要上交插入數(shù)據(jù)的sql語句):
insert?into?student?values('10001','劉備','男',175,160,25,'N0001')
insert?into?student?values('10002','關(guān)羽','男',160,150,27,'N0001')
insert?into?student?values('10003','孫權(quán)','男',170,150,30,'N0001')
insert?into?student?values('10004','魯肅','男',175,130,18,'N0002')
insert?into?student?values('10005','龐統(tǒng)','男',180,140,21,'N0002')
insert?into?student?values('10006','貂蟬','女',178,120,18,'J0001')
insert?into?student?values('10006','孫尚香','女',175,110,20,'J0001')
?
insert?into?student?values('10006','呂布','女',185,150,22,'J0001')
?
?
?
4、?請查詢出所有女學(xué)生的平均身高?(寫出sql語句)
select?avg (Height)?from?student where Gender=’女’
5、請查詢出身高在170到180之間的所有學(xué)生信息?(寫出sql語句)
select?*from?student where Height?>170 and Height?<180
6、請統(tǒng)計出每個班級的學(xué)生平均身高?(需要顯示人數(shù)和班級)(寫出sql語句)
select?Class?,count(*), avg (Height)from?student group by Class
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??卷4
?
筆試題
1、數(shù)據(jù)庫的完整性有哪些?
域完整性:not?null、check、default
參照完整性:外鍵
實(shí)體完整性:主鍵、唯一、自增
2、什么是主鍵?
信息不能重復(fù),唯一的,不能為null,一個表中只有一個主鍵,用于識別每一條信息
3、模糊查詢使用到的關(guān)鍵字是什么?
like
4、什么是外鍵?
通過外鍵可以連接另一張表,表示他們之間用于主外鍵關(guān)系,可以將兩張表通過sql語句作為一張表進(jìn)行操作
5、寫出5個常見的數(shù)據(jù)庫軟件?
Mysql?sqlserver??db2?sqllite??oracle?
6、在SQLSERVER中需要在性別這一列添加檢查約束,限制值為”男”或”女”,寫出關(guān)鍵代碼?
Sex??check(sex=’男or?sex=’女’)
7、內(nèi)連接的語法是什么?
Select?*?from?a? inner join?b?on?a.id=b.id
8、什么是域完整性?
域完整性指列的值域的完整性。如數(shù)據(jù)類型、格式、值域范圍、是否允許空值等。
域完整性就是指數(shù)據(jù)庫表中的列必須滿足某種特定的數(shù)據(jù)類型或約束。其中約束又包括取值范圍、精度等規(guī)定。表中的CHECK、FOREIGN KEY 約束和DEFAULT、 NOT NULL定義都屬于域完整性的范疇。
9、右連接的語法是什么?
Select?*?from?a? right join?b?on?a.id=b.id
10、以id字段進(jìn)行降序排序,寫出關(guān)鍵的代碼?
?Select?*?from??a ??Order by id?asc
?
?
機(jī)試題
1、?使用命令創(chuàng)建一個名字為stud的數(shù)據(jù)庫
create database?stud
2、?使用建表語句創(chuàng)建一個student表,字段如下:
?
create?table?student(
Id??nvarchar(50),
Name??nvarchar(20),
Gender?nvarchar(10),
Height??float,
Weight??float,
Age??int,
Class??nvarchar(50)
)
2、使用sql在表中插入數(shù)據(jù)如下(需要上交插入數(shù)據(jù)的sql語句):
?
insert?into?student?values('10001','劉備','男',175,160,25,'N0001')
insert?into?student?values('10002','關(guān)羽','男',160,150,27,'N0001')
insert?into?student?values('10003','孫權(quán)','男',170,150,30,'N0001')
insert?into?student?values('10004','魯肅','男',175,130,18,'N0002')
insert?into?student?values('10005','龐統(tǒng)','男',180,140,21,'N0002')
insert?into?student?values('10006','貂蟬','女',178,120,18,'J0001')
insert?into?student?values('10006','孫尚香','女',175,110,20,'J0001')
?
insert?into?student?values('10006','呂布','女',185,150,22,'J0001')
?
3、請查詢出所有男生的平均體重?(寫出sql語句)
select?avg (Weight)?from?student where Gender=’男’
4、請使用分組查詢出男生和女生的最高身高?(寫出sql語句)
select??Gender,max(Height)from?student group by?Gender
5、請查詢出姓名中含有孫字的所有學(xué)生信息?(寫出sql語句)
?select * from student where Name like'%孫%'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?卷5
筆試題
1、什么是域完整性?
域完整性指列的值域的完整性。如數(shù)據(jù)類型、格式、值域范圍、是否允許空值等。
域完整性就是指數(shù)據(jù)庫表中的列必須滿足某種特定的數(shù)據(jù)類型或約束。其中約束又包括取值范圍、精度等規(guī)定。表中的CHECK、FOREIGN KEY 約束和DEFAULT、 NOT NULL定義都屬于域完整性的范疇。
2、什么是主鍵?
信息不能重復(fù),唯一的,不能為null,一個表中只有一個主鍵,用于識別每一條信息
3、修改數(shù)據(jù)使用到的語法是什么?
update 表名?set?列名='值'(或列名=值 ) where (列名='值'或列名=值?)
4、什么是外鍵?
通過外鍵可以連接另一張表,表示他們之間用于主外鍵關(guān)系,可以將兩張表通過sql語句作為一張表進(jìn)行操作
5、寫出5個常見的數(shù)據(jù)庫軟件?
Mysql?sqlserver??db2?sqllite??oracle?
6、在SQLSERVER中需要在性別這一列添加檢查約束,限制值為”男”或”女”,寫出關(guān)鍵代碼?
Sex??check(sex=’男or?sex=’女’)
7、左連接的特點(diǎn)和語法是什么?
?
特點(diǎn):當(dāng)進(jìn)行左連接查詢的時候,在左側(cè)表信息如果右側(cè)沒有,就以null顯示,會完全顯示左側(cè)表的信息?
?
語法:Select?*?from?a?left??join?b?on?a.id=b.id?
8、得到一組數(shù)據(jù)的最大值用什么函數(shù)?
MAX()
9、刪除表使用到的sql語句的語法是什么?
Drop?database?數(shù)據(jù)庫名
10、升序排序的語法是什么?
Order by??列名??desc(倒序)?或asc(升序)
?
?
?
機(jī)試題
1、?使用命令創(chuàng)建一個名字為stud的數(shù)據(jù)庫
create database?stud
2、?使用建表語句創(chuàng)建一個student表,字段如下:
?
create?table?student(
Id??nvarchar(50),
Name??nvarchar(20),
Gender?nvarchar(10),
Height??float,
Weight??float,
Age??int,
Class??nvarchar(50)
)
2、使用sql在表中插入數(shù)據(jù)如下(需要上交插入數(shù)據(jù)的sql語句):
?
insert?into?student?values('10001','劉備','男',175,160,25,'N0001')
insert?into?student?values('10002','關(guān)羽','男',160,150,27,'N0001')
insert?into?student?values('10003','孫權(quán)','男',170,150,30,'N0001')
insert?into?student?values('10004','魯肅','男',175,130,18,'N0002')
insert?into?student?values('10005','龐統(tǒng)','男',180,140,21,'N0002')
insert?into?student?values('10006','貂蟬','女',178,120,18,'J0001')
insert?into?student?values('10006','孫尚香','女',175,110,20,'J0001')
?
insert?into?student?values('10006','呂布','女',185,150,22,'J0001')
?
3、查詢出所有學(xué)生信息以身高倒序排序?(寫出sql語句)
Select?*?from??student ??Order by Height desc
4、請查詢N0001班的學(xué)生的平均身高?(寫出sql語句)
select?avg (Height)?from?student where Class=’N0001’
5、使用分組統(tǒng)計每個班級的學(xué)生人數(shù)?(寫出sql語句)
select?Class?,count(*)from?student group by?Class
?
?
?
?