teratail header banner
teratail header banner
質問するログイン新規登録
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

2回答

531閲覧

SQL のWHEREについて

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2022/05/21 10:26

0

0

postgres=# SELECT * FROM states;
sid |  sname  | area
-----+-------------+------
2 | AOMORI   |  30
40 | FUKUOKA   |  5
34 | HIROSHIMA  |  8
15 | NIIGATA   |  13
(4 行)

postgres=# SELECT * FROM clients;
cid | cname | capital | sid
-----+--------+---------+-----
A01 | NAOMI |   45 |  2
A02 | TAEKO |   30 |  2
B04 | AKIRA |   50 | 15
B03 | KEIKO |   40 | 40
B01 | SATORU |   25 | 15
(5 行)

を作成しました。

この中から抽出を行ないたいと思っております。

抽出内容は下記です。

clients(取引先)表から,所在地(都道府県) の識別子(sid 列の値)が「15」以外の取引先データを抽出し,取引先の識別子(cid 列の値),取 引先の代表者名(cname 列の値),資本金(capital 列の値)を表示しなさい。ただし,行を表示す る順番を資本金の昇順とすること。

SELECT * FROM clients ORDER BY capital WHERE sid=2 AND sid=40;

これを入力しましたがエラーと出ます。

ではどこが間違いでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

この中から抽出を行ないたいと思っております。

エラーメッセージは表示された内容をそのまま載せてください。

WHERE sid=2 AND sid=40

sidが2でも40でもある、ってあり得ないのでは?

投稿2022/05/21 10:50

Orlofsky

総合スコア16419

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

SELECT * FROM clients ORDER BY capital WHERE sid=2 AND sid=40;

SELECT 文での構文の順番としては

  1. WHERE
  2. ORDER BY
    の順番ですね。
    それと「sid=2 AND sid=40」だと対象条件が合致しないかと思います。

こちらで如何でしょうか?

SQL

1SELECT * FROM clients WHERE sid <> 15 ORDER BY capital;

投稿2022/05/21 10:30

編集2022/05/21 10:50
cx20

総合スコア4700

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/05/21 10:55

ありがとうございました! こちらで反応しました! 助かりました!!
cx20

2022/05/21 11:26

エラーの原因と思われる構文の順番について回答致しましたが、 提示した SQL では課題の解答としては NG となる可能性がありますのでご注意ください。
退会済みユーザー

退会済みユーザー

2022/05/22 01:36

お気遣いありがとうございます! 教科書を見ても例文などもなく、映像を見ても例文もないので困っていたところでした。 反映が成功していれば問題ないそうですので提出しました!
cx20

2022/05/22 09:31

> 取引先の識別子(cid 列の値),取 引先の代表者名(cname 列の値),資本金(capital 列の値)を表示しなさい たぶんですが、問題文の意図としては 「SELECT * FROM ~」でなく 「SELECT cid, cname, capital FROM ~」 とする必要があるのでは、と思いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問