sql 筆試題(三)

2021-08-29 22:17:29 字數 4146 閱讀 5735

題目一、

有兩個表:

tablex有三個欄位code、 name、 age、 其中code為主鍵;

tabley有三個欄位code、 class、score, 其中code + class 為主鍵。兩表記錄如下:

code name age code class score

97001 張三 22 97001 數學 80

97002 趙四 21 97002 計算機 59

97003 張飛 20 97003 計算機 60

97004 李五 22 97004 數學 55

1、請寫出sql,找出所有姓張的學生,並按年齡從小到大排列;

2、請寫出sql,取出計算機科考成績不及格的學生;

3、通過等值聯接,取出name、class、score,請寫出sql即輸出結果

4、通過外聯接,取出每個學生的name、class、score、請寫sql輸出結果

5、請寫sql,在tablex 表中增加一條學生記錄(學號:97005 姓名:趙六 年齡:20);

6、李五的年齡記錄錯了,應該是21,請寫sql,根據主鍵進行更新;

7、請寫sql,刪除tablex中沒有考試成績的學生記錄,請使用not in條件;

題目二、

有兩個表定義如下:

create tableindividual (

firstname  varchar2(20) not null

lastname    vatchar2(20) not null

birthdate  date

gender      varchar2(1)

initial    number(2)

farorite    varchar2(6)

type        varchar2(8)

); 在此表中建唯一索引 firstname + lastname

create table chile_detail(

firstname  varchar2(20)

lastname    varchar2(20)

cname      varchar2(8)

coment      varchar2(2)

type        varchar2(8)

); 1、寫乙個簡單的sql語句實現:刪除表individual中一條出生日期(brithdate)為 2023年10月2日 出生的人的記錄

2、寫一修改語句實現: 將表child_detail 中的type 為 「kkd」 的記錄的cname 值為「declear」,coment的值為「02」

tablex有三個欄位code、 name、 age、 其中code為主鍵;

tabley有三個欄位code、 class、score, 其中code + class 為主鍵。兩表記錄如下:

code name age code class score

97001 張三 22 97001 數學 80

97002 趙四 21 97002 計算機 59

97003 張飛 20 97003 計算機 60

97004 李五 22 97004 數學 55

1、請寫出sql,找出所有姓張的學生,並按年齡從小到大排列;

select * from tablex where name like '張%' order by age

2、請寫出sql,取出計算機科考成績不及格的學生;

select * from tablex where code in (select code from tabley wehre class='計算機' and score <60)

3、通過等值聯接,取出name、class、score,請寫出sql即輸出結果

select a.name,b.class,b.score from tablex a,tabley b where a.code=b.code 

4、通過外聯接,取出每個學生的name、class、score、請寫sql輸出結果

select a.name,b.class,b.score from tablex full join tabley on a.code=b.code

5、請寫sql,在tablex 表中增加一條學生記錄(學號:97005 姓名:趙六 年齡:20);

insert into tablex values('97005','趙六',20)

6、李五的年齡記錄錯了,應該是21,請寫sql,根據主鍵進行更新;

update tablex set age=21 where code='97004'

7、請寫sql,刪除tablex中沒有考試成績的學生記錄,請使用not in條件;

delete tablex where code not in (select code from tabley)

delete tablex where code in (

select code from tablex where code not in(select y.code from tabley))

但看了其它人的寫法,感覺自己寫的不簡潔,學習一下.

1、請寫出sql,找出所有姓張的學生,並按年齡從小到大排列;

select * from tablex where name like '張%' order by age;

2、請寫出sql,取出計算機科考成績不及格的學生;

select * from tablex x, tabley y where x.code = y.code and class = '計算機' and score < 60;

3、通過等值聯接,取出name、class、score,請寫出sql即輸出結果

select x.name, y.class, y.score from tablex x, tabley y where x.code = y.code

4、通過外聯接,取出每個學生的name、class、score、請寫sql輸出結果

left out:select x.name, y.class, y.score from tablex x, tabley y where x.code = y.code(+)

right out: select x.name, y.class, y.score from tablex x, tabley y where x.code(+) = y.code

full out:left join union all right join

5、請寫sql,在tablex 表中增加一條學生記錄(學號:97005 姓名:趙六 年齡:20);

insert into tablex(code, name, age) values('97005','趙六',20);

commit;

6、李五的年齡記錄錯了,應該是21,請寫sql,根據主鍵進行更新;

update tablex set age = 21 where code in (select code from tablex where name = '李五')

7、請寫sql,刪除tablex中沒有考試成績的學生記錄,請使用not in條件;

delete from tablex where code not in (select code from tabley where nvl(score,0) = 0)

在此表中建唯一索引 firstname + lastname

create unique index name_unindex on individual(firstname,lastname)

1、寫乙個簡單的sql語句實現:刪除表individual中一條出生日期(brithdate)為 2023年10月2日 出生的人的記錄

delete from individual where to_char(birthdate,'yyyy-mm-dd') = '1990-10-02';

commit;

2、寫一修改語句實現: 將表child_detail 中的type 為 「kkd」 的記錄的cname 值為「declear」,coment的值為「02」

update chile_detail set cname = 'declear', coment = '02'

where type = 'kkd';

commit;

用友 SQL筆試題

兩道sql筆試題 一 表test 中,找出資料夾下有檔案的資料夾 mnt t期望結果 music pic sql語句 select a.path from select from test where isfolder t a join select from test where isfolder...

刷刷筆試題 sql

1.資料庫中有學院表和成績表 學院表t school結構如下 學院id school id,學院名稱 school name 成績表t score結構如下 學號 id.姓名 name,分數 score,學院id school id 請用sql語句查詢出學院名稱為 計算機系 的分數最高的前20位的學生...

筆試題 sql語句

建表語句 table structure for score drop table if existsscore create tablescore idint 11 default null,snoint 11 default null,namevarchar 255 default null,s...