私は現在、SQL Serverを使用してSQLを学習しています。次のSQLコードのように tbAuthors
と tbBooks
の2つのテーブルがあります。
CREATE TABLE [dbo].[tbAuthors](
[id_Author] [int] NOT NULL,
[nameAuthor] [varchar](50) NOT NULL,
CONSTRAINT [PK_tbAuthors] PRIMARY KEY CLUSTERED ([id_Author] ASC)
)
CREATE TABLE [dbo].[tbBooks](
[idBooks] [int] NOT NULL,
[bookName] [varchar](50) NOT NULL,
[FKAuthor] [int] NOT NULL,
CONSTRAINT [PK_tbBooks] PRIMARY KEY CLUSTERED ([idBooks] ASC)ON [PRIMARY]
)
私が欲しいのは、作者の名前だけを取得することであり、著者の名前を使わずにすべての彼の書籍は、次のクエリを繰り返して表示され、私はこのデータを取得します:
select distinct ta.id_Author, ta.nameAuthor, tb.bookName
from tbAuthors as ta
inner join tbBooks as tb on tb.FKAuthor=ta.id_Author where tb.FKAuthor = 1
SQLの結果は次のとおりです。
id_Author nameAuthor bookName
1 Author1 Book1
1 Author1 Book2
1 Author1 Book3
1 Author1 Book4
私が知りたかったのは、次の画像にあるクエリをどのように取得するのですか?
id_Author nameAuthor bookName
1 Author1 Book1
empty empty Book2
empty empty Book3
empty empty Book4
もしそうなら、それを照会することは可能ですか?
この問題にご関心をお寄せいただきありがとうございます。