即効テクニック

データベース・データ保護

テーブルの結合(和結合)

(Access 97)
SQLを用いて2つのテーブルを結合します。

●詳細●
結合方法は両方のテーブルのいずれかに存在するレコードを全て表示させます。これは和結合(ユニオンクエリ)と呼ばれるものです。ここでは授業「統計力学1」,「量子力学1」のいずれかに出席した学生をを表示させます。

(テーブル)
「量子力学1」
 学生番号   出席者名
  0002    田中 和明
  0003    平野 彩子
  0004    葛城 孝史
  0006    新田 哲也
  0007    山本 雅治
  0008    内野 義昭
  0010    稲垣 友子

「統計力学1」
 学生番号   出席者名
  0001    森上 偉久馬
  0002    田中 和明
  0004    葛城 孝史
  0006    新田 哲也
  0008    内野 義昭
  0003    平野 彩子
  0009    青木 俊之

●サンプルプログラム●
Private Sub SQL_和結合()
  Dim cn As New ADODB.Connection
 Dim cmd As ADODB.Command
 Dim cat As New ADOX.Catalog
 Dim strSQL As String
 
 Set cn = New ADODB.Connection
 cn.ConnectionString = _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=D:\NorthWIND.MDB"
 cn.Open
 cat.ActiveConnection = cn
 
 '和結合
 strSQL = "SELECT 学生番号,出席者名 from 統計力学1 UNION _
  select 学生番号,出席者名 from 量子力学1;"

 Set cmd = New ADODB.Command
 cmd.ActiveConnection = cn
 cmd.CommandText = strSQL
 cat.Views.Append "和結合クエリ", cmd
 cn.Close
 Set cmd = Nothing
 Set cn = Nothing
 Set cat = Nothing
End Sub

●動作確認●
新たにクエリ「和結合クエリ」が以下のように表示されます。

 学生番号   出席者名
  0001    森上 偉久馬
  0002    田中 和明
  0003    平野 彩子
  0004    葛城 孝史
  0006    新田 哲也
  0007    山本 雅治
  0008    内野 義昭
  0009    青木 俊之
  0010    稲垣 友子