回答編集履歴
2
嘘コメント削除
answer
CHANGED
@@ -26,7 +26,6 @@
|
|
26
26
|
丸かっこの所はサブクエリ、複文としてselectが書けたりする
|
27
27
|
|
28
28
|
```sql
|
29
|
-
/* hogeテーブルのfugaが1, 3, 5のものを消せ */
|
30
29
|
delete from hoge where fuga in (select * from foo);
|
31
30
|
```
|
32
31
|
|
@@ -34,7 +33,6 @@
|
|
34
33
|
`select`文を工夫して同じ型で評価できるようにすればいい。
|
35
34
|
|
36
35
|
```sql
|
37
|
-
/* hogeテーブルのfugaが1, 3, 5のものを消せ */
|
38
36
|
delete from hoge where fuga in (select bar from foo);
|
39
37
|
```
|
40
38
|
fugaとbarがint型とかだったら条件式が成立するね!
|
1
ヒント追加
answer
CHANGED
@@ -6,4 +6,39 @@
|
|
6
6
|
`join`ってテーブルにくっ付けるものなんで、`where`には付かないですよ。
|
7
7
|
構文を見直してください。
|
8
8
|
|
9
|
-
[https://www.postgresql.jp/document/12/html/sql-delete.html](https://www.postgresql.jp/document/12/html/sql-delete.html)
|
9
|
+
[https://www.postgresql.jp/document/12/html/sql-delete.html](https://www.postgresql.jp/document/12/html/sql-delete.html)
|
10
|
+
|
11
|
+
## ヒント
|
12
|
+
分かりやすいやつだとこんな感じ
|
13
|
+
|
14
|
+
```sql
|
15
|
+
/* hogeテーブルのfugaが1のものを消せ */
|
16
|
+
delete from hoge where fuga = 1;
|
17
|
+
```
|
18
|
+
|
19
|
+
で、条件は`in`と`()丸かっこ`で複数指定が出来る
|
20
|
+
|
21
|
+
```sql
|
22
|
+
/* hogeテーブルのfugaが1, 3, 5のものを消せ */
|
23
|
+
delete from hoge where fuga in (1, 3, 5);
|
24
|
+
```
|
25
|
+
|
26
|
+
丸かっこの所はサブクエリ、複文としてselectが書けたりする
|
27
|
+
|
28
|
+
```sql
|
29
|
+
/* hogeテーブルのfugaが1, 3, 5のものを消せ */
|
30
|
+
delete from hoge where fuga in (select * from foo);
|
31
|
+
```
|
32
|
+
|
33
|
+
まあ、このまんまだと、`foo`テーブルの中身がごっそり来ておそらく`fuga`と型が違うと怒られるので
|
34
|
+
`select`文を工夫して同じ型で評価できるようにすればいい。
|
35
|
+
|
36
|
+
```sql
|
37
|
+
/* hogeテーブルのfugaが1, 3, 5のものを消せ */
|
38
|
+
delete from hoge where fuga in (select bar from foo);
|
39
|
+
```
|
40
|
+
fugaとbarがint型とかだったら条件式が成立するね!
|
41
|
+
この例だと、`foo.bar = hoge.fuga`が成立するhogeのレコードが消えることになる。
|
42
|
+
|
43
|
+
さあ、`select`文が書けたぞ。
|
44
|
+
後は頑張ってください。
|