データベースSQLクエリのサブクエリと外部結合クエリ...すべての人に役立つことを願っています!ご不明な点がございましたら、オンラインでコメントして以下に回答してください。

-マルチテーブルクエリ
/ *
歌手テーブル
歌手番号名前歌手歌手歌手地域誕生日
1001クイ1962/6/10香港
1002台湾羅1954/7/201003
アンディ1961/9/27中国本土
* /
-テーブルを作成する
CREATE TABLE singer(
ID INT PRIMARY KEY AUTO_INCREMENT、
NAME VARCHAR(20)、
birthday DATE、
region VARCHAR(20)
);
–テーブルの削除
DROP TABLE singer;
–データの追加
INSERT INTO singer VALUES(1001、 'Huang Jiaju'、 '1962 -6-10 '、' Hong Kong ')、
(1002、' Luo Dayou '、' 1954-7-20 '、' Taiwan ')、
(1003、' Andy Lau '、' 1961-9-27 '、'台湾本土 ');
–この行を
削除DELETE FROM singer WHERE id = 1000;
–すべて
削除DELETE FROM singer;
–クエリ
SELECT * FROM singer;
–クエリ2
SELECT * FROM singer; –UPDATEシンガーを
変更
SETregion = 'China' WHERE NAME = 'Huang Jiaju';
–クエリ
SELECT * FROM singer;

– ================================================= ================================================== ========================================

/ *
1003 90 2016 sony 4
album Tableアルバム
数アーティストアルバムタイトル番号(外部キー)アルバムラベルアルバムリリース日価格ランキング
1栄光の日10011001993バイナ1
ストーリー2ファラオ1002901990ワーナー2
3オールド泣き
ましょう、泣きましょう、酔っていません1003 80 1999 Baina 34私たちの村の人々
* /

CREATE TABLE album(
a_ID INT PRIMARY KEY AUTO_INCREMENT、–アルバム番号
a_name VARCHAR(30)、–アルバムタイトル
a_singer_ID INT、–アーティスト番号
a_price NUMERIC(4)、–アルバム価格
a_date DATE、–リリース日
a_company VARCHAR(10)、–レコード会社
a_ranking INT –アルバムランキング
);
–外部キーの追加
ALTER TABLE album ADD CONSTRAINT fk_one FOREIGN KEY(a_singer_ID)REFERENCES singer(ID);
–データの追加
INSERT INTO album VALUES( NULL、「Glorious Years」、「1001」、100、「1993-10-23」、「Baina」、1)、
(NULL、 'Lao Wang's Story'、 '1002'、90、 '1990-10-23'、 'Warner'、2)、
(NULL、 'Lao Luo cry、cry not drunk'、 '1003'、80、 ' 1999-10-23 '、' Baina '、3);
–テーブルの削除DELETEFROM
アルバム;
–テーブルの表示
SELECT * FROMアルバム;
–テーブルの破棄と破棄DROPTABLE
アルバム;

– ================================================= ================================================== ===========================================

/ *
トラック直接一意の主キーとしてディスクテーブル番号
アルバムのトラック番号数(外部キー)曲ソング名のソート番号
1000111栄光の日々
1000212は本当にあなたを愛し
1000313の沈黙
1000421ファラオストーリー
10005 2 2ラブソング1990
10006 2 3女王のをRoad East
10007 3 1 Lao Luo、cry、cry、not drunk
10008 3 2 Bingyu
10009 3 3 Stupid child
* /

CREATE TABLE song(
s_ID INT PRIMARY KEY AUTO_INCREMENT、
s_album_id INT、
s_ranking INT、
s_songName VARCHAR(20)
);
–外部キーが追加されました
ALTERTABLE song ADD CONSTRAINT so_one FOREIGN KEY(s_album_id)REFERENCES album(a_ID);

–曲の値にデータ挿入を追加(10001,1,1、 'Glory Years')、
(10002,1,2、 'Really Love You')、
(10003,1,3、 'Years issilent')、
(10004 、2,1、 'Lao Wang's Story')、
(10005,2,2、 'Love Song 1990')、
(10006,2,3、 'Queens Road East')、
(10007,3,1、 'Old
Let's泣いて、泣いてみよう、酔っていない ')、(10008,3,2、'氷の雨 ')、
(10009,3,3、'愚かな子供 ');
–フォームを見る
SELECT * FROM song;

– ================================================= ================================================== ============================================

/ *
上記の歌手に加えて、2人以上のアーティスト、アルバム、曲を挿入してください。
サブクエリ
1を使用して、最も古いアーティスト
2を除く最も古い歌手に関する情報をクエリし、平均価格
3よりも高いアルバムをクエリします。曲があります<trueloveYou>、すべての曲情報を表示します。表示しない場合は、曲情報を表示しません
* /
–サブクエリ
SELECT * FROM singer WHERE Birthday>(SELECT MIN(birthday)FROM singer);
SELECT MIN(birthday)FROM singer;

サブクエリSELECT * FROM album WHERE a_price>(SELECT AVG(a_price)FROM album);
SELECT AVG(a_price)FROM album;
– subquery
SELECT * FROM song WHERE EXISTS(SELECT * FROM song WHERE s_songName = 'Really love you ');
SELECT * FROM song WHERE s_songName ='私は本当にあなたを愛しています ';

– ================================================= ================================================== ================================================== ==

/ *
1.「cry」という単語を含む曲情報、アルバム名、作者をリストします。
2.作品「ラブソング1990」の所有者一覧。
3. GloriousYearsアルバムのすべての曲を一覧表示します。
4。1961年の歌手のアルバム名とすべての曲情報を
一覧表示します。5。すべての歌手の曲数を一覧表示します。
6.曲番号が1より大きいすべての歌手をリストします。
7.100元未満のアルバムを一覧表示します。
8. HuangJiajuを含まないすべての曲をリストします。
9.香港の歌手と歌を一覧表示します。
10.すべての歌手の中で最も人気のある曲をリストします。(最初にランク付け
された曲は最も人気のある曲を示します)11。レコード会社からリリースされたすべてのアルバムを一覧表示します。
* /
-タイトル1
曲のSELECT * FROM、アルバムA、歌手のSI
WHERE SI。ID=。a_singer_ID
と。a_ID=秒。s_album_id
とs。s_songNameLIKE '%哭%';

–题目二SELECTm
nameFROM song s、album a、singer m
WHEREm。ID= a。a_singer_ID
およびa。a_ID= s。s_album_id
ANDs。s_songName= '恋曲1990';

-トピック3
。SELECT sのs_songNameアルバムAから、歌秒
。sがs_album_id。= a_ID
。とS s_album_id=(SELECT。a_IDアルバムAからWHERE。a_name= '栄光の年');
-サブクエリ
。SELECTa_IDアルバムAからWHERE。a_name= '栄光の年';

–题目四
SELECT * FROM song s、album a、singer si WHEREsi
ID= a。a_singer_ID
およびa。a_ID= s。s_album_id
ANDsi。birthday= '1962-6-10';

-トピック5
歌手名、COUNT(S AS SELECTのsi.name s_album_id)歌手のSI、歌のアルバムAから曲数AS
WHERE SI。ID= a.a_singer_ID
とS。s_album_id=。a_ID
GROUP BYのSI。name
HAVING COUNT(S 。s_album_id);

–题目六
SELECT si.name AS題目字FROM歌手si、歌s、アルバムa WHEREsi
ID= a.a_singer_ID ANDs
s_album_id= a。a_ID
GROUP BYsi。name
COUNT(s。s_album_id
およびCOUNT(s。s_album_id)> 1を持っている;

–トピック7
SELECT * FROMアルバムaWHEREa。a_price<100;

-質問8は、問題があり
歌手のSI、歌のアルバムA SELECT * FROM
。SI ID。= a_singer_ID
。とa_ID。= Ss_album_id
およびSi。ID=!(SELECT SI。ID歌手のSI SI FROM。name= '黄Jiaju') ;
SELECT SI。ID歌手のSI SI FROM。name= '黄Jiaju';

–题目九SELECTsi
name、s。s_songNameFROM singer si、song s、album a
WHEREsi。ID= a.a_singer_ID ANDs
s_album_id= a。a_ID
AND si.region!= '香港';

–题目十SELECTsi
name、s。s_songNameFROM singer si、song s、album a
WHEREsi。ID= a.a_singer_ID ANDs
s_album_id= a。a_ID
AND s_ranking = 1
GROUP BY si.name;

–トピック11
SELECT a.a_company、s.s_songName FROM song s、album a WHEREs
s_album_id= a a_ID。;

おすすめ

転載: blog.csdn.net/c_v_sCtrl/article/details/99857816