実験 1 SQL DDL 言語と単一テーブル クエリ

レベル 1: サプライヤー テーブルを作成するS(SNO,SNAME,STATUS,CITY)

タスクの説明
サプライヤー テーブルの作成S(SNO,SNAME,STATUS,CITY)
関連知識
サプライヤー テーブルは、Sサプライヤー コード ( SNO)、サプライヤー名 ( SNAME)、サプライヤー ステータス ( STATUS)、サプライヤー都市 ( ) でCITY構成され、
Sテーブルは次のとおりです。
ここに画像の説明を挿入

CREATE TABLE S(
    SNO CHAR(3),
    SNAME CHAR(10),
    `STATUS` INT,
    CITY CHAR(8)
); 

INSERT INTO S
VALUES('S1', '精益', 20, '天津'),
    ('S2', '盛锡', 10, '北京'),
    ('S3', '东方红', 30, '北京'),
    ('S4', '丰泰盛', 20, '天津'),
    ('S5', '为民', 30, '上海');

レベル 2: P テーブル内のすべての赤いパーツの重量を 6 増加します。

タスクの説明表内のすべての赤い部品の重量に関連する知識を
追加します。部品表は、部品コード ( )、部品名 ( )、色 ( )、重量 ( ) で構成され、表は次のとおりです。P6

PPNOPNAMECOLORWEIGHTP
ここに画像の説明を挿入

update P
set WEIGHT=WEIGHT+6
where COLOR='红';

レベル 3: P リスト内のすべての赤い部分の色を青に変更します。

タスクの説明テーブル内のすべての赤い部品の色を青に変更します。
関連知識 部品テーブルは、部品コード ( ))、および重量 ()、色 ()、部品名 (P
PPNOPNAMECOLORWEIGHTP
ここに画像の説明を挿入
P
ここに画像の説明を挿入

update P
set COLOR='蓝'
where COLOR='红';

レベル 4: S5 が提供する部品 P6 を SPJ テーブルの J4 に変更し、S3 が提供するようにします。

タスクの説明 表部品を供給から供給関連ナレッジに
変更します。供給状況テーブルは、サプライヤー コード ( )、部品コード ( )、技術品目コード ( )、供給数量 ( ) で構成され、特定のサプライヤーが製品を供給していることを識別します。特定の部品 プロジェクトの数量は ですテーブルは次の図に示すとおりです。テーブルは構築されており、構造情報は次のとおりです。SPJS5J4P6S3

SPJSNOPNOJNOQTYQTYSPJ
ここに画像の説明を挿入
SPJ
ここに画像の説明を挿入

UPDATE SPJ
SET SNO='S3'
WHERE SNO='S5' 
AND JNO='J4' 
AND PNO='P6';

レベル 5: SPJ テーブル内のすべての天津サプライヤーの QTY 属性値を 11 減らす (サブクエリ メソッドを使用)

タスクの説明テーブル内のすべての天津サプライヤーの属性値を
削減します(サブクエリ方式を使用)SPJQTY11

関連ナレッジ
1. サプライヤーテーブルはSサプライヤーコード ( ) )都市 (サプライヤー)、サプライヤーステータス (SNO、サプライヤー名 (で構成されます関連ナレッジの削減(サブクエリ方式を使用) 1. サプライヤーテーブルはサプライヤーで構成されますコード ( )、サプライヤー名 ( )、サプライヤーのステータス ( )、およびサプライヤーの都市 ( )の表は次のとおりです。SNAMESTATUSCITY
S
SPJQTY11

SSNOSNAMESTATUSCITY
S

ここに画像の説明を挿入

テーブルが構築されておりS、構造情報は次のとおりです。

ここに画像の説明を挿入

2. 供給状況テーブルは、SPJ供給者コード(SNO)、部品コード(PNO)、技術品目コード(JNO)、供給数量(QTY)から構成されており、ある供給者が技術品目に供給する部品の数量を示しますQTY
SPJ表は次のとおりです。

ここに画像の説明を挿入

テーブルが構築されておりSPJ、構造情報は次のとおりです。

ここに画像の説明を挿入

UPDATE SPJ
set QTY=QTY-10
where '天津'=(select CITY from S where SPJ.SNO=S.SNO);

レベル 6: 天津の表 J にあるすべてのエンジニアリング プロジェクトの記録を削除する

タスクの説明天津のテーブル内のエンジニアリング プロジェクトのすべてのレコード
を削除します。 関連するナレッジ エンジニアリング プロジェクト テーブル J は、エンジニアリング プロジェクト コード ( )、エンジニアリング プロジェクト名 ( )、エンジニアリング プロジェクトが位置する都市 ( )で構成されます。テーブルは次の図に示すとおりです。テーブルは構築されており、構造情報は次のとおりです。J
JNOJNAMECITY
J
ここに画像の説明を挿入
J
ここに画像の説明を挿入

DELETE FROM J WHERE CITY= '天津';

レベル 7: サプライヤー番号が S2 のレコードを SPJ テーブルから削除します

タスクの説明サプライヤー番号を持つレコードをテーブル
からSPJ削除します。S2

関連知識
供給状況テーブルはSPJ、供給者コード(SNO)、部品コード(PNO)、技術品目コード(JNO)、供給数量(QTY)で構成されており、ある供給者がある部品を技術品目に対して供給している数量を識別しますQTY
SPJテーブルは次の図に示すとおりです。テーブルは
ここに画像の説明を挿入
構築されておりSPJ、構造情報は次のとおりです。
ここに画像の説明を挿入

DELETE FROM SPJ WHERE Sno= 'S2';

レベル8:SPJテーブルから部品名ドライバーのレコードを削除(サブクエリを使用)

タスクの説明部品名がドライバーであるレコードをテーブル
から削除します(サブクエリ方式を使用)SPJ

DELETE FROM SPJ WHERE PNO in(SELECT PNO FROM P where PNAME= '螺丝刀');

レベル 9: P リスト内のすべてのレコードを削除します

タスクの説明 テーブル内のすべてのレコード
を削除しますP

関連知識
部品表は、P部品コード(PNO)、部品名(PNAME)、色(COLOR)、重量(WEIGHT)で構成さ
Pれており、表は下図のように
ここに画像の説明を挿入
構成されています。P:
ここに画像の説明を挿入

DELETE FROM P;

レベル10:供給状況関係表SPJに(S2、J6、P4、200)を挿入してください。

タスクの説明供給状況関係表に
( S2J6P4、 ) を挿入してください200SPJ

関連知識
供給状況テーブルはSPJ、供給者コード(SNO)、部品コード(PNO)、技術品目コード(JNO)、供給数量(QTY)で構成されており、ある供給者がある部品を技術品目に対して供給している数量を識別しますQTY
SPJテーブルは次の図に示すとおりです。テーブルは
ここに画像の説明を挿入
構築されておりSPJ、構造情報は次のとおりです。
ここに画像の説明を挿入

INSERT INTO SPJ
VALUES('S2','P4','J6,200);

レベル 11: サプライ エンジニアリングの J1 部品のサプライヤー番号 SNO を尋ねます。

タスクの説明
エンジニアリング部品を供給するためのJ1サプライヤー番号SNO(重複排除に注意)
に関する知識を
求めます。供給状況テーブルは、SPJサプライヤー コード ( SNO)、部品コード ( PNO)、技術品目コード ( JNO)、および供給数量 ( QTY) で構成され、サプライヤーを識別します。特定の部品を供給するサプライヤー プロジェクトのこの種の部品の数量は ですQTY
SPJテーブルは次の図に示すとおりです。テーブルは
ここに画像の説明を挿入
構築されておりSPJ、構造情報は次のとおりです。

ここに画像の説明を挿入

SELECT DISTINCT SNO from SPJ where JNO = 'J1';

レベル 12: サプライ エンジニアリング J1 パーツ P1 のサプライヤー番号 SNO を検索します。

タスクの説明
エンジニアリングJ1部品を供給するP1サプライヤーの数を調べるSNO

関連知識
供給状況テーブルはSPJ、供給者コード(SNO)、部品コード(PNO)、技術品目コード(JNO)、供給数量(QTY)で構成されており、ある供給者がある部品を技術品目に対して供給している数量を識別しますQTY
SPJテーブルは次の図に示すとおりです。テーブルは
ここに画像の説明を挿入
構築されておりSPJ、構造情報は次のとおりです。
ここに画像の説明を挿入

select SNO from SPJ where JNO ='J1' and PNO = 'P1';

レベル 13: すべてのサプライヤーの名前と都市を検索します。

タスクの説明
すべてのサプライヤーの名前と都市を検索します。

関連知識
サプライヤーテーブルはS、サプライヤーコード ( SNO)、サプライヤー名 ( SNAME)、サプライヤーステータス ( STATUS)、サプライヤー都市 ( CITY)で構成され
S、次のとおりです。

ここに画像の説明を挿入
テーブルが構築されておりS、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT SNAME,CITY FROM S;

レベル 14: すべての部品の名前、色、重量を調べる

タスクの説明
すべての部品の名前、色、重量を調べる

関連知識
部品表は、P部品コード(PNO)、部品名(PNAME)、色(COLOR)、重量(WEIGHT)で構成さ
Pれており、表は下図のように
ここに画像の説明を挿入
構成されています。P:
ここに画像の説明を挿入

SELECT PNAME,COLOR,WEIGHT FROM P;

レベル 15: サプライヤー S1 から供給された部品を使用してプロジェクト番号を調べます

タスクの説明
サプライヤーS1から供給された部品を使用するプロジェクト番号を調べます。

関連知識
供給状況テーブルはSPJ、供給者コード(SNO)、部品コード(PNO)、技術品目コード(JNO)、供給数量(QTY)で構成されており、ある供給者がある部品を技術品目に対して供給している数量を識別しますQTY
SPJテーブルは次の図に示すとおりです。テーブルは
ここに画像の説明を挿入
構築されておりSPJ、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT DISTINCT JNO FROM SPJ WHERE SNO='S1';

レベル 16: ユーザー テーブルに新しいユーザーを追加します。user_id は 2019100904 学生番号、名前は「2019-Internet of Things-Li Ming」です。

タスクの説明
ユーザー テーブルに新しいユーザーを追加します。user_id は 2019100904 学生番号、名前は「2019-Internet of Things-Li Ming」です。

関連知識
ユーザーはプレーヤー情報テーブルです
ここに画像の説明を挿入

ここに画像の説明を挿入

insert into users(user_id,name) values ('2019100904','2019-物联网-李明');

レベル 17: users テーブル内のユーザー user_id の情報を robot_2 として更新し、名前を「robot 2」に設定します。

タスクの説明
users テーブルで、ユーザー user_id が robot_2、名前が「ロボット 2 号」に設定されるという情報を更新します
関連知識
users がプレイヤー情報テーブルです; users テーブルは次のとおりです (最初の数項目のみ)が表示されます):

ここに画像の説明を挿入

users テーブルが構築されており、構造情報は次のとおりです。
users テーブルが構築されており、構造情報は次のとおりです。

UPDATE users
set name='机器人二号'
where user_id='robot_2';

レベル 18: 解答テーブル内の、problem_id 1003 のすべての質問の解答結果 (result) を 6 に設定します。

タスクの説明 解答
表にある問題 ID 1003 のすべての問題の解答結果 (結果) を 6
関連知識解答: 出場者から
提出された問題の解答表は次のとおりです (最初の数項目のみが表示されます)。
ここに画像の説明を挿入
テーブルが構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

レベル 18: 解答テーブル内の、problem_id 1003 のすべての質問の解答結果 (result) を 6 に設定します。

タスクの説明
解決策テーブルで、contest_id が 1001 である回答をすべて削除します
。 関連ナレッジ ソリューション: 参加者によって提出された質問の解決策テーブルは次のとおりです (最初のいくつかの項目のみが表示されます)。

UPDATE solution
set result=6
where problem_id=1003;

レベル 19: ソリューション テーブル内の Contest_id 1001 を持つすべてのソリューションを削除します

タスクの説明
解答テーブルで、contest_id が 1001 の回答をすべて削除します。
関連知識
ソリューション: 出場者によって提出された質問の解答テーブルを次の図に示します (最初のいくつかの項目のみを示します):
ここに画像の説明を挿入
解答テーブルが構築されました、構造情報は次のとおりです。
ここに画像の説明を挿入

delete from solution where contest_id = 1001;

レベル 20: すべてのコンテストのタイトルと終了時刻をクエリする

タスクの説明
すべてのコンテストのタイトルと終了時刻をクエリします。
関連するナレッジ
コンテストは、コンテスト情報テーブルです。
コンテスト テーブルは次のとおりです (最初のいくつかの項目のみが表示されます):
ここに画像の説明を挿入
コンテスト テーブルは構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT title, end_time FROM contest;

レベル 21: どのプレーヤーの user_id が解決策を提出したかをクエリし、結果内の user_id が重複しないことを要求します。

タスクの説明
どのプレーヤーの user_id が解決策を提出したかをクエリし、結果内の user_id が重複しないことを要求します

関連するナレッジソリューションの参加者
から提出された質問への回答。ソリューション テーブルは次の図に示されています (最初のいくつかの項目のみが表示されています)。
ここに画像の説明を挿入
ソリューション テーブルは構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT DISTINCT user_id from solution;

レベル 22: end_time が「2020-11-21 17:30:00」より後のコンテスト ID をクエリします。

タスクの説明
end_time が「2020-11-21 17:30:00」より後のコンテスト ID
関連ナレッジをクエリします。
コンテストはコンテスト情報テーブルです
ここに画像の説明を挿入

ここに画像の説明を挿入

SELECT  contest_id  from contest where end_time > '2020-11-21 17:30:00';

レベル 23: 問題 ID が 1005 ~ 1009 である問題のタイトルをクエリします。

タスクの説明
問題 ID が 1005 ~ 1009 である問題のタイトルを照会します。

関連する知識の
問題はタイトル テーブルです。問題テーブルは次のとおりです (最初のいくつかの項目のみが表示されます):
ここに画像の説明を挿入
問題テーブルは構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT title from problem where problem_id between 1005 and 1009;

レベル 24: 言語が 0、1、または 3 ではないソリューションの code_length を照会します。

タスクの説明
言語が 0、1、または 3 ではないソリューションの code_length を照会します。

関連知識
解答: 出場者から提出された問題の解答表は次のとおりです (最初の数項目のみが表示されます)。

ここに画像の説明を挿入

ソリューション テーブルが構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT code_length from solution where language !=0 and language !=1 and language !=3;

レベル 25: 2018 年の選手の情報を照会します (user_id が学生番号であるユーザーの最初の 4 桁が成績です)

タスクの説明
2018 年度選手の情報を照会します (user_id が学生 ID であるユーザーの最初の 4 桁が成績です)

関連知識
ユーザーはプレーヤー情報
テーブルです
ここに画像の説明を挿入

ここに画像の説明を挿入

SELECT * from users where user_id>=20180000000 and user_id<=20189999999

レベル 26: 「バイオメディカル」のプロ プレーヤー (名前に「バイオメディカル」が含まれるプレーヤー) の情報を照会します。

タスクの説明
「バイオメディカル」のプロ プレーヤー (名前に「バイオメディカル」が含まれるプレーヤー) の情報を照会します。

関連知識
ユーザーはプレーヤー情報テーブルです
ここに画像の説明を挿入

ここに画像の説明を挿入

select * from users where name like '%生医%';

レベル 27: どの競合にも属さないソリューションの solution_id と in_date をクエリします (contest_id は NULL)。

タスクの説明
どの競合にも属さないソリューションの solution_id と in_date をクエリします (contest_id は NULL)。

関連知識の
解決策: 出場者によって提出された質問の解決策テーブル
は次のとおりです (最初のいくつかの項目のみが表示されます):
ここに画像の説明を挿入
解決策テーブルは構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

select solution_id,in_date from solution where contest_id is NULL;

レベル 28: 結果が 6 で、problem_id が 1010 より大きい solution_id と言語をクエリします。

タスクの説明
結果が 6 で、problem_id が 1010 より大きい solution_id と言語をクエリします。

関連知識
解答: 出場者から提出された問題の解答表は次のとおりです (最初の数項目のみが表示されます)。
ここに画像の説明を挿入

ソリューション テーブルが構築されており、構造情報は次のとおりです。

ここに画像の説明を挿入

select solution_id ,language from solution where result=6 and problem_id > 1010;

レベル 29: 解決策を提出したプレーヤーの数をクエリする

タスクの説明
解決策を提出したプレーヤーの数を照会する

関連知識の
解決策:
出場者によって提出された質問の解決策テーブルは次のとおりです (最初のいくつかの項目のみが表示されます):
ここに画像の説明を挿入
解決策テーブルは構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT COUNT(DISTINCT solution.user_id) FROM solution;

レベル 30: メモリ消費サイズと、最も多くのメモリ (メモリ) を消費するソリューションの solution_id をクエリします。

タスクの説明
解決策を提出したプレーヤーの数を照会する

関連知識の
解決策: 出場者によって提出された質問の解決策テーブル
は次のとおりです (最初のいくつかの項目のみが表示されます):
ここに画像の説明を挿入
解決策テーブルは構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

select memory,solution_id from solution
where memory in(
    select max(distinct memory) from solution
);

レベル 31: 各トピックの提出数をクエリする

タスクの説明
各トピックの送信数を照会します。

関連知識解答: 出場者から提出された問題の解答表は次のとおりです (最初の数項目のみが表示されます)。

ここに画像の説明を挿入

ソリューション テーブルが構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT distinct problem_id, COUNT(solution.problem_id) FROM solution GROUP BY problem_id HAVING COUNT(*) > 0;

レベル 32: 提出数が 20 を超える質問の質問番号を照会する

タスクの説明
20 件を超える質問の質問番号を照会します。

関連知識の
解決策: 出場者によって提出された質問の解決策テーブル
は次のとおりです (最初のいくつかの項目のみが表示されます):
ここに画像の説明を挿入
解決策テーブルは構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

SELECT distinct problem_id FROM solution where problem_id in (SELECT problem_id FROM solution  GROUP BY problem_id HAVING COUNT(problem_id)>20);

レベル 33: 問題 ID が 1001 のすべての解決策、または空のコンテスト ID を持つ解決策を検索します。

タスクの説明
問題 ID が 1001 またはコンテスト ID が空のすべての解決策を検索する

関連知識
解答: 出場者から提出された問題の解答表は
次のとおりです (最初の数項目のみが表示されます)。

ここに画像の説明を挿入
ソリューション テーブルが構築されており、構造情報は次のとおりです。
ここに画像の説明を挿入

select * from solution where problem_id=1001 or contest_id is null;

おすすめ

転載: blog.csdn.net/weixin_51571728/article/details/127439544