[MySQLは知っておく必要があります(2)] [データの取得+データの並べ替え]

前:[MySQLは知っておく必要がある(1)] [公式データベーステーブルとSQLスクリプトインポートの生成]

1つは、データを取得する

SELECTステートメントを使用して、テーブルから1つ以上のデータ列を取得する

1.1 SELECTステートメント

SELECTを使用してテーブルデータを取得するには、選択するものと選択する場所の少なくとも2つの情報を提供する必要があります。

1.2単一の列を取得する

mysql> SELECT prod_name
    -> FROM products;

上記のステートメントは、SELECTステートメントを使用して、productsテーブルからprod_nameという名前の列を取得します。必要な列名はSELECTキーワードの後に​​指定され、FROMキーワードはデータを取得するテーブルコマンドを示します

ここに画像の説明を挿入

1.2.1ソートされていないデータ

このクエリを数回試行すると、表示されるデータの順序が異なることがわかります。クエリ結果が明確にソートされていない場合、返されるデータの順序に特別な意味はありません。返されるデータの順序はランダムです。返される行の数が同じである限り、それは正常です。

1.2.2 End SQLステートメント

複数のSQLステートメントはセミコロンで区切る必要があります。MySQLは、ほとんどのDBMSと同様に、単一のSQLステートメントの後にセミコロンを必要としません。ただし、特定のDBMSでは、単一のSQLステートメントの後にセミコロンを追加する必要がある場合があります。mysqlコマンドラインを使用している場合は、SQLステートメントを終了するためにセミコロンを追加する必要があります。

1.2.3 SQLステートメントと大文字

SQLステートメントでは大文字と小文字が区別されません。多くのSQL開発者は、すべてのSQLキーワードに大文字を使用し、すべての列名とテーブル名に小文字を使用することで、コードの読み取りとデバッグを容易にします。

1.3複数の列を取得する

テーブルから複数の列を取得するには、同じSELECTステートメントを使用します。唯一の違いは、SELECTキーワードの後に​​複数の列名を指定する必要があり、列名はコンマで区切る必要があることです。

1.3.1カンマ

複数の列を選択する場合は、列名の間にコンマを追加してください。ただし、最後の列名の後には追加しないでください。最後の列名の後にコンマを追加すると、エラーが発生します。

mysql> SELECT prod_id, prod_name, prod_price
    -> FROM products;

ここに画像の説明を挿入

1.4すべての列を取得する

実際の列名の代わりに*ワイルドカードを使用する

mysql> SELECT *
    -> FROM products;

ここに画像の説明を挿入

1.4.1ワイルドカードの使用

*ワイルドカードの使用を減らしますが、不要な列を取得すると、通常、取得とアプリケーションのパフォーマンスが低下します。

1.5異なる行の取得

DISTINCTキーワードを使用して、異なる値のみを返す

mysql> SELECT DISTINCT vend_id
    -> FROM products;

ここに画像の説明を挿入

1.6制限結果

最初の行または最初の数行を返します。LIMIT句を使用できます

mysql> SELECT prod_name
    -> FROM products
    -> LIMIT 5;

LIMIT 5はMySQLに5行以下を返すように指示します

ここに画像の説明を挿入

mysql> SELECT prod_name
    -> FROM products
    -> LIMIT 5,5;

LIMIT 5,5は、MySQLに行5から始まる5行を返すように指示します。最初の数字は開始位置で、2番目の数字は取得された行数です

ここに画像の説明を挿入

1.6.1行0

取得される最初の行は、行1ではなく行0です。LIMIT 1、1は、最初の行の代わりに2番目の行を取得します

1.7完全修飾テーブル名を使用する

mysql> SELECT products.prod_name
    -> FROM products;

完全修飾列名

ここに画像の説明を挿入

次に、データを並べ替えて取得します

2.1データを並べ替える

データベーステーブルの単一の列を特定の順序で返さない

mysql> SELECT prod_name
    -> FROM products;

ここに画像の説明を挿入

mysql> SELECT prod_name
    -> FROM products
    -> ORDER BY prod_name;

データをアルファベット順に並べ替え

ここに画像の説明を挿入

2.2複数の列で並べ替え

複数の列を並べ替えるには、列名を指定し、列名をコンマで区切ります

mysql> SELECT prod_id, prod_price, prod_name
    -> FROM products
    -> ORDER BY prod_price, prod_name;

ここに画像の説明を挿入

2.3ソート方向を指定する

デフォルトは昇順(AからZ)、降順のDESCキーワードです。

mysql> SELECT prod_id, prod_price, prod_name
    -> FROM products
    -> ORDER BY prod_price DESC;

ここに画像の説明を挿入

mysql> SELECT prod_id, prod_price, prod_name
    -> FROM products
    -> ORDER BY prod_price DESC, prod_name;

ここに画像の説明を挿入

DESCキーワードは、その直前の列名にのみ適用されます。

2.3.1複数の列で降順で並べ替え

複数の列で降順にソートする場合は、各列にDESCキーワードを指定する必要があります

2.3.2 ORDER BY句の位置

ORDER BY句を指定する場合は、FROM句の後に配置する必要があります。LIMITを使用する場合は、ORDER BYの後でなければなりません。句を使用する順序が間違っていると、エラーメッセージが表示されます。

おすすめ

転載: blog.csdn.net/qq_42893334/article/details/108488842