ふとした事から「アクセス」の利用をすることになったのですが、結構難しいですね。アクセスの基本的な使い方は良いのですが、SQLについてもっと詳しく知りたいです。どなたかご存知の方がいらっしゃれば、詳しいURLや書籍の情報をください。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

「はじめてのSQL」を推薦します。


ISBN4-7741-0334-9 定価1980円
SQLに付いて、くまなく、分りやすく書いてあります。
これ一冊あれば、とっても便利です。



それにしても、Google(http://www.google.com)は凄いですねぇ。
キーワード入れたら一発で出てきますもんねぇ。

参考URL:http://dennou.gihyo.co.jp/books/4-7741-0334-9/sq …
    • good
    • 0
この回答へのお礼

実はレポートでデータベースを扱わなきゃいけなかったのです。
まぁなんとか乗り切りました。
もっともっと勉強して資格でもとろうと思ってます。

私もGoogle(http://www.google.com)を使ってますよ。
いいですよね、速いし、的確な情報が見つかります。
使い分けることも大切ですけれども・・・
ありがとうございました。

お礼日時:2001/04/11 11:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSQL基本の質問

こんにちは。
どうぞよろしくお願い致します。

あるSQLを実装しているソフトウェアで特定のデータをどうすれば他の箇所に移動できるか教えてほしく投稿しました。
SQLでデータを編集できる事までは分かったのですがどう言った文を書けばいいかわからない素人です。

INSERT INTO かUPDATEを使用するのかなとは思ったのですが詳細をお伝えするのでもしお分かりの方よろしくお願い致します。

あるゲスト情報を表示するソフトがありまして、そのゲストの情報を保持する箇所がいくつもあります。
行いたい事は、ゲストAのノート欄の情報を予約ノート欄にコピーをするにはどうすればいいのでしょうか?
ゲストの情報を保持するテーブルは”CUSTOMER”というテーブルで”NOTE”と”RES_NOTE”というコラムがあります。
この”NOTE”と言うコラムにある情報を、”RES_NOTE”内にコピーをしたいです。
その場合”NOTE”内の情報は消去せず残したまま、”RES_NOTE”に元々あった情報も保持したいです。
要はRES_NOTEに”NOTE”内の情報を足しこみたいと言う事です。

少し説明がおかしいかと思いますがもし不明な点があればすぐに返信します。
どうぞよろしくお願いします!

こんにちは。
どうぞよろしくお願い致します。

あるSQLを実装しているソフトウェアで特定のデータをどうすれば他の箇所に移動できるか教えてほしく投稿しました。
SQLでデータを編集できる事までは分かったのですがどう言った文を書けばいいかわからない素人です。

INSERT INTO かUPDATEを使用するのかなとは思ったのですが詳細をお伝えするのでもしお分かりの方よろしくお願い致します。

あるゲスト情報を表示するソフトがありまして、そのゲストの情報を保持する箇所がいくつもあります。
行いたい事は、ゲス...続きを読む

Aベストアンサー

update CUSTOMER
set RES_NOTE = RES_NOTE || ' ' || NOTE;
という感じでRES_NOTEとNOTEを連結した値でRES_NOTEを更新することができます。

ただ、文字列の連結方法はご使用のデータベース製品によって異なりますので、
そのあたりはご自身でお調べください。

QSQLを使用しての、異なるURLの抽出について

下記のような、ドメインとURLの最後の部分(/dataの部分)
が一緒で、途中の表記が違うURLがあったとします。

http://hogehoge.com/aaa/data
http://hogehoge.com/aaa/bbb/data
http://hogehoge.com/ddd/eee/data

このようなURLをSQLのLIKE文を使って抽出するには、どのように記述したらいいしょうか。

Aベストアンサー

お使いのDBMSによりますが。SQL規格に沿えば
WHERE 列名 LIKE '%/data'

ACCESSなら
WHERE 列名 LIKE "*/data"

Qどなたか、SQLについて教えてください。 条件 以下の中で最大値

どなたか、SQLについて教えてください。 条件 以下の中で最大値

どなたか、AccessのSQLについて教えてください。
Accessではなく一般的なSQLでもかまいません。
お願いいたします。

急に仕事でAccessSQLを使用して処理を行わなくてはならなくなりました。
まったくの素人のため、下記の条件で苦戦しております。
どなたか、よろしくお願いいたします。

下記のデータから、
ID 名前 個数
----+-------
AAA あああ 100
BBB いいい 200
CCC ううう 300
DDD えええ 400
EEE おおお 500
----+---------

個数350以下で、更に最大の値の値を求めたいです。

希望結果
---------------
BBB いいい 300
-----------------

個数350以下までは、わかるのですが、更に最大を求める部分がわかりません。

以上、よろしくお願いいたします。

Aベストアンサー

Accessなら、たぶんこっちのほうが簡単なSQLだと思います。

SELECT TOP 1 * FROM テーブル1
WHERE 個数 <= 350
AND 名前 = "あああ"
ORDER BY 個数 DESC;

個数が350個以下で名前が"あああ"に該当するデータを個数の降順(大きい順)に並べ替え、その中から最初の1件を取得する。

という方法のSQLです。この"TOP n"の記述はAccessのほか、SQL Serverでも可能です。(たぶんMSの方言)

QSQL文の課題なのですが全くわかりません...全てじゃなくてよろしいので、どなたか助けてください。

SQL文の課題なのですが全くわかりません...
全てじゃなくてよろしいので、どなたか助けてください。
TOSYO 表
CREATE TABLE TOSYO(
TOSYONO CHAR(4) NOT NULL,
SYOMEI TEXT NOT NULL,
TYOSYA TEXT NOT NULL,
INDEX(TOSYONO),
PRIMARY KEY (TOSYONO))
TOSYONO SYOMEI TYOSYA
A001 S大学の真相 専修太郎
A002 SQL入門 朽木塔子
B002 神田明神 平将門
C003 無能の人 増相次郎

GAKUSEI表
CREATE TABLE GAKUSEI(
GAKUSEINO CHAR(5) NOT NULL,
SIMEI TEXT NOT NULL,
INDEX(GAKUSEINO),
PRIMARY KEY (GAKUSEINO))

GAKUSEINO SIMEI
C9601 高石邦生
C9703 吉良上野
D8801 田中桂子
Q8515 大石蔵子

KASIDASI表
CREATE TABLE KASIDASI(
KNO CHAR(3) NOT NULL,
GAKUSEINO CHAR(5) NOT NULL,
TOSYONO CHAR(5) NOT NULL,
KIGEN DATE,
HENKYAKU INT,
INDEX(KNO,GAKUSEINO,TOSYONO),
PRIMARY KEY (KNO),
FOREIGN KEY (GAKUSEINO) REFERENCES GAKUSEI (GAKUSEINO),
7
FOREIGN KEY (TOSYONO) REFERENCES TOSYO (TOSYONO)
)
KNO GAKUSEINO TOSYONO KIGEN HENKYAKU
001 D8801 C003 2014/12/30 1
002 Q8515 A001 2014/12/30 0
003 C9601 B002 2015/01/10 1
004 Q8515 C003 2015/01/12 0
005 Q8515 A002 2015/01/20 0
(HENKYAKU は,1が返却すみ,0が未返却)
次の照会をするSQL文を作成しなさい.回答は,課題1と同様に,テキストまたはワープロファイルに,転記して提出.
(1) 大石蔵子さんの貸し出しの状況の一覧(KASIDASI表から作成)
(2) まだ,未返却の貸し出しの一覧(KASIDASI表から作成)
(3) 期限が12月の貸し出しの一覧(KASIDASI表から作成)
(4) 未返却かつ期限が12月の貸し出しの一覧(KASIDASI表から作成)
(5) 未返却貸し出しで,貸出期限が古い順に出力するSQL(KASIDASI表から作成)
(6) KASIDASI表を基準に3つの表を内部結合し, VKASIDASIという仮想表を作成する.
(7) 各図書の貸し出し回数の一覧を表示するSQL文
(8) 各学生の貸し出し回数と一番遅い貸し出し期限を表示するSQL文
(1回も貸し出していない学生は表示しなくてよい)

SQL文の課題なのですが全くわかりません...
全てじゃなくてよろしいので、どなたか助けてください。
TOSYO 表
CREATE TABLE TOSYO(
TOSYONO CHAR(4) NOT NULL,
SYOMEI TEXT NOT NULL,
TYOSYA TEXT NOT NULL,
INDEX(TOSYONO),
PRIMARY KEY (TOSYONO))
TOSYONO SYOMEI TYOSYA
A001 S大学の真相 専修太郎
A002 SQL入門 朽木塔子
B002 神田明神 平将門
C003 無能の人 増相次郎

GAKUSEI表
CREATE TABLE GAKUSEI(
GAKUSEINO CHAR(5) NOT NULL,
SIMEI TEXT NOT NULL,
INDEX(GAKUSEINO),
PRIM...続きを読む

Aベストアンサー

きょうび先生のチェックも厳しいので、
こういう掲示板で質問して回答をそのままコピペして提出すると「不可」になる
可能性も高いですがよろしいですか?
(自分なりに理解した上で、書き直した方がよいかと・・・)

>(1) 大石蔵子さんの貸し出しの状況の一覧(KASIDASI表から作成)
SELECT K.KNO,K.GAKUSEINO,K.TOSYONO,K.KIGEN,K.HENKYAKU
FROM KASIDASI AS K
INNER JOIN GAKUSEI AS G ON G.GAKUSEINO=K.GAKUSEINO
AND G.SIMEI='大石蔵子';

>(2) まだ,未返却の貸し出しの一覧(KASIDASI表から作成)
SELECT *
FROM KASIDASI
WHERE HENKYAKU=0;

>(3) 期限が12月の貸し出しの一覧(KASIDASI表から作成)
SELECT *
FROM KASIDASI
WHERE KIGEN BETWEEN '2014-12-01' AND '2014-12-31';
※ただし、別の年の12月も拾いたいならやりかたは異なる

>(4) 未返却かつ期限が12月の貸し出しの一覧(KASIDASI表から作成)
SELECT *
FROM KASIDASI
WHERE KIGEN BETWEEN '2014-12-01' AND '2014-12-31'
AND HENKYAKU=0;

>(5) 未返却貸し出しで,貸出期限が古い順に出力するSQL(KASIDASI表から作成)
SELECT *
FROM KASIDASI
WHERE HENKYAKU =0
ORDER BY KIGEN ASC

>(6) KASIDASI表を基準に3つの表を内部結合し, VKASIDASIという仮想表を作成する.
CREATE VIEW VKASIDASI AS
SELECT K.KNO,K.GAKUSEINO,G.SIMEI,K.TOSYONO,T.SYOMEI,T.TYOSYA,K.KIGEN,K.HENKYAKU
FROM KASIDASI AS K
INNER JOIN GAKUSEI AS G ON K.GAKUSEINO=G.GAKUSEINO
INNER JOIN TOSYO AS T ON K.TOSYONO=T.TOSYONO;

>(7) 各図書の貸し出し回数の一覧を表示するSQL文
SELECT T.TOSYONO,T.SYOMEI,T.TYOSYA,SUB.COUNT AS COUNT FROM TOSYO AS T
LEFT JOIN (
SELECT TOSYONO,COUNT(*) AS COUNT FROM KASIDASI GROUP BY TOSYONO
) AS SUB ON T.TOSYONO=SUB.TOSYONO;
※1回も借りられていないものをどうするかによる

>(8) 各学生の貸し出し回数と一番遅い貸し出し期限を表示するSQL文
(1回も貸し出していない学生は表示しなくてよい)

SELECT G.GAKUSEINO,G.SIMEI,SUB.COUNT,SUB.LATE_KIGEN
FROM GAKUSEI AS G
INNER JOIN (
SELECT GAKUSEINO,COUNT(*) AS COUNT,MAX(KIGEN) AS LATE_KIGEN
FROM KASIDASI
GROUP BY GAKUSEINO) AS SUB ON G.GAKUSEINO=SUB.GAKUSEINO;

きょうび先生のチェックも厳しいので、
こういう掲示板で質問して回答をそのままコピペして提出すると「不可」になる
可能性も高いですがよろしいですか?
(自分なりに理解した上で、書き直した方がよいかと・・・)

>(1) 大石蔵子さんの貸し出しの状況の一覧(KASIDASI表から作成)
SELECT K.KNO,K.GAKUSEINO,K.TOSYONO,K.KIGEN,K.HENKYAKU
FROM KASIDASI AS K
INNER JOIN GAKUSEI AS G ON G.GAKUSEINO=K.GAKUSEINO
AND G.SIMEI='大石蔵子';

>(2) まだ,未返却の貸し出しの一覧(KASIDASI表から作成)
SELECT ...続きを読む

QアクセスVBAのSQLについて

(1)テキストファイルに記述したSQL文のセットをVBAで実行するコマンドはありますか?
(2)テーブルを作成する際の、DB指定は
「create table "DB名"."テーブル名"…」としたらよいでしょうか
(3)"DB名". を省略できるのはどのような場合ですか?
(4)Docmd.RunSQL "" で一度に複数のSQL文を実行できますか?
よろしくお願いします。m(_ _)m

Aベストアンサー

(1)ざっと4通りくらいあります。
 DoCmd.RunSQL、CurrentDb.Execute、CurrentDb.OpenRecordset、
 その他、クエリのSQLを動的に変更して、「クエリを開く」など
 上記は目的が異なります。CurrentDb.OpenRecordset以外は実行型の
 SQLを実行する場合に使い、OpenRecordsetは結果を参照する場合に
 使います。
(2)CREATE TABLE nnn (field1 CHAR(10),field2 INTEGER,・・・)
 上記中、小文字の所が利用者が付ける名前です。制約やキーの
 指定もあるんですが、書ききれません。
(3)Accessなんでしょ?"DB名"は不要です。
(4)できません。


人気Q&Aランキング

おすすめ情報