助け合いフォーラム
Oracle Master Silver SQL 2019(1Z0-071)
問題ID : 26666
問題を開く
算術式を指定できる句として正しいものはどれですか(該当するものを全て選択してください)。
正解
SELECT句
WHERE句
GROUP BY句
HAVING句
ORDER BY句
解説
算術式はSELECT句だけではなく、FROM句を除く任意の句で使用できます。
以上より、
・SELECT句
・WHERE句
・GROUP BY句
・HAVING句
・ORDER BY句
が正解となります。
それぞれの句の機能は次の通りです。
・SELECT句 : データベースから取り出すデータを選択します
・FROM句 : データベースのどの表からデータを取り出すかを決定します
・WHERE句 : 条件に従って取り出すデータを制限します
・GROUP BY句 : 取り出すデータをグループ化します
・HAVING句 : 条件に従って取り出すグループを制限します
・ORDER BY句 : 取り出したデータをソートします
WHERE句からORDER BY句は、以降の分野で詳しく扱います。
以上より、
・SELECT句
・WHERE句
・GROUP BY句
・HAVING句
・ORDER BY句
が正解となります。
それぞれの句の機能は次の通りです。
・SELECT句 : データベースから取り出すデータを選択します
・FROM句 : データベースのどの表からデータを取り出すかを決定します
・WHERE句 : 条件に従って取り出すデータを制限します
・GROUP BY句 : 取り出すデータをグループ化します
・HAVING句 : 条件に従って取り出すグループを制限します
・ORDER BY句 : 取り出したデータをソートします
WHERE句からORDER BY句は、以降の分野で詳しく扱います。
参考
SELECT文でデータの検索を行う際、SELECT句には表の列名だけではなく、算術式を指定できます。算術式には列名,定数値(リテラル),算術演算子を記述します。
SQL文で使用できる算術演算子は次の通りです。
![【図を表示】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19333/k48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=8541ab3dd12fcf9c8d0aab7f252f6d0fe88c03049a3a16c4dfd0fd2254c38c3f)
算術式で複数の演算子を用いた計算を行う場合は、演算子の優先順位に従って計算が行われます。
演算子の優先順位は次の通りです。
![【図を表示2】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19334/kk48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=1dccc4e8f11a1db84b70e6c05fb1efe9270861a8143b8fd4fb5ab28f85f293f2)
同じ優先順位の演算子が複数使われている場合は、左側の計算から順番に行われます。
例) 10 * 5 + 10 / 2 - 1
1) 10 * 5 を計算 -> 結果は 50
2) 10 / 2 を計算 -> 結果は 5
3) 50 + 5 を計算 -> 結果は 55
4) 55 - 1 を計算 -> 結果は 54
算術式の優先順位を変更したい場合は()括弧を使用します。()括弧を用いることで優先順位が高くなります。
![【図を表示3】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19336/kkk48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=f62e53f3711b983fc1be75b66e666b7a1c3e8d8f71774bd1de09856f10b7fd0f)
![【図を表示4】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19337/kkkk48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=e392d802c241dbaf80b3a88e4f94ac77482fd9d847eaf1f5cd7a4a0631db8ad9)
1つ目の例では 10 * 5 + 5 の計算を演算子の優先順位に従って計算しますので、 10 * 5 の計算結果に 5 を加算しますが、2つ目の例では ( 5 + 5 ) を先に計算し、その結果と 左の10 を乗算します。
なお、算術式はSELECT句だけではなく、FROM句を除く任意の句で使用できます。
※ dual表はDUMMYというVARCHAR2型の列に「X」というデータを持つ表です。データベースに接続できるユーザ(CREATE SESSION権限を持つ)なら誰でも使用できます。上記のように計算や関数の値を確認する場合などに使用します。
![<img src="/mondai3/img/jpg/kkkkk48855.jpg">](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19335/kkkkk48855.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=e7c8148e774bc3990274db49525ae67adce1539751bbfaba3ab82bb750aa0914)
SQL文で使用できる算術演算子は次の通りです。
![【図を表示】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19333/k48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=8541ab3dd12fcf9c8d0aab7f252f6d0fe88c03049a3a16c4dfd0fd2254c38c3f)
算術式で複数の演算子を用いた計算を行う場合は、演算子の優先順位に従って計算が行われます。
演算子の優先順位は次の通りです。
![【図を表示2】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19334/kk48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=1dccc4e8f11a1db84b70e6c05fb1efe9270861a8143b8fd4fb5ab28f85f293f2)
同じ優先順位の演算子が複数使われている場合は、左側の計算から順番に行われます。
例) 10 * 5 + 10 / 2 - 1
1) 10 * 5 を計算 -> 結果は 50
2) 10 / 2 を計算 -> 結果は 5
3) 50 + 5 を計算 -> 結果は 55
4) 55 - 1 を計算 -> 結果は 54
算術式の優先順位を変更したい場合は()括弧を使用します。()括弧を用いることで優先順位が高くなります。
![【図を表示3】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19336/kkk48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=f62e53f3711b983fc1be75b66e666b7a1c3e8d8f71774bd1de09856f10b7fd0f)
SQLを表示
SELECT 10 * 5 + 5
FROM dual;
FROM dual;
![【図を表示4】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19337/kkkk48859.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=e392d802c241dbaf80b3a88e4f94ac77482fd9d847eaf1f5cd7a4a0631db8ad9)
SQLを表示
SELECT 10 * (5 + 5)
FROM dual;
FROM dual;
1つ目の例では 10 * 5 + 5 の計算を演算子の優先順位に従って計算しますので、 10 * 5 の計算結果に 5 を加算しますが、2つ目の例では ( 5 + 5 ) を先に計算し、その結果と 左の10 を乗算します。
なお、算術式はSELECT句だけではなく、FROM句を除く任意の句で使用できます。
※ dual表はDUMMYというVARCHAR2型の列に「X」というデータを持つ表です。データベースに接続できるユーザ(CREATE SESSION権限を持つ)なら誰でも使用できます。上記のように計算や関数の値を確認する場合などに使用します。
![<img src="/mondai3/img/jpg/kkkkk48855.jpg">](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19335/kkkkk48855.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033215Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAgaDmFwLW5vcnRoZWFzdC0xIkgwRgIhANHJuOowIP70c5JvzZjwVv5qS91hqIWdQFZzYJWrf%2BvoAiEAvoVVFMmtRzvvs5kU35dlS89gfzMOt4V6dNlhGoNwtKIqsQQI4v%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDH%2FzNF8qx%2BnHRiOCJSqFBAQWQnV37gSoyaGHp1Jz5xS766UNOpZxuBfnriUqNRkTRQvse4S%2BUx5wWq3Cq1N85EgDWHpTUdk0z0onEOaGztMin1WP6QWXrlX8SmK5wxvk8von2NK6jFMcwAQfaEH7twN%2BjyrnhKNxNFO5vt8vs0H%2FJXTjGK6ePeLRthQ4%2FxqLEtmuQ%2BYoUojAqQBWCEjP5KpAAje2xJqxViGg9iqYP0STI7gWVAYeEmv1nzs4AxvJNdf1fYRBilxZ2PIgn1mvR%2FK7dxbz2smHtg2HhzsZjaJ5H8WHqRLQINQrr714HX9u4k1RvZzzuCtmNDvgC93ASD8mKQlAuaAA1SGfG60tXKUayewaXZFPlGcR%2B6A1j7d5INESj%2BLzK0Jp2dP10GooOXm8UnTCLj2nkFFxMh9VIE64CY1avR%2F0kV72Po7FoTcVcuzoH2IbOrSgIyT8N4Ij8F5fOqcqbDdyhmNRfLmd0N7ZP25qoU6K3rIMeMWKgPzaeT54s2i%2Bnhszui3m0Sy9he9RwbFlf%2FMmaHob3lafQzjThxSkzqFbWm1mogY3tfKExSH1iRtyX1Y%2BAim4wtO1ZizqEDqMkW8SAzD0xxIneYuT3GPr66KWSCEHKHW6t20NRYGyXTEr%2FwELefBQKzfDPLRwL4OPSeHHkEUiypb763zevR2RhLks%2B4EKNse0Py4eASWiTbwwuP%2BQtQY6pQHuYZCSXCZiYnz1Mbqq4CBIMnYufh%2FzzOnVAmaVI9V%2FHpM72SD2qm%2Bk6YSrekCCOcmaa5EwsV9AQDxwXatoy96nbNYBSbjYNXQIq5ygpCHI03EDC%2FTaH%2B9sanKP4qnQopFS5G9SAJl1OdRKmgycdC3TW8IYhWC1%2BFhsTJeNsF824TVcPR4VGJbPfwr75zlJD9Jhh6YhJhq1UMNJaqEm5AFczAffBV0%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLFRAGVRWFZ%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=e7c8148e774bc3990274db49525ae67adce1539751bbfaba3ab82bb750aa0914)
GROUP BY句への算術式の使用
c
cent700
公開日 2023/03/10
GROUP BY句に「算術式」を指定するイメージが理解できません。
列名だけでも「算術式」と呼ぶ、ということでしょうか?
2023/03/12 10:33
「算術式」っていうと難しいですけど、結局は「式(expression)」のことですね。
https://docs.oracle.com/cd/F35743_01/sqlreferencefornosql/group-clause.html
具体例はここの記事を参照いただくと良いかと思います。
https://taityo-diary.hatenablog.jp/entry/2018/06/25/230207
コメント
この投稿に対して返信しませんか?
c cent700
2023/03/12 15:17
ありがとうございます。 2番目の記事が大変参考になりました。