テーブルとフィールドに別名を付ける MySQL クエリ関数

coldplay.xixi
リリース: 2021-03-18 09:46:54
転載
3519 人が閲覧しました

テーブルとフィールドに別名を付ける MySQL クエリ関数

ディレクトリ:

(1) テーブルにエイリアスを与えます
(2) フィールドにエイリアスを与えます

(推奨無料学習: mysql ビデオ チュートリアル)


(1). テーブルにエイリアスを付けます

テーブル名が非常に長い場合、または特殊なクエリが実行される場合、操作の便宜上、または同じテーブルを複数回使用する必要がある場合、テーブルの別名を指定し、この別名を使用して元の名前を置き換えることができます。 。テーブルに別名を付けるための基本的な構文形式は次のとおりです。

表名 [as] 表别名
ログイン後にコピー

「テーブル名」はデータベースに格納されているデータ テーブルの名前、「テーブル エイリアス」はクエリ中に指定されたテーブルの新しい名前、およびas キーワードはオプションです。 パラメータ"

[例 1] 注文テーブルのエイリアス o を使用し、30001 個の注文の注文日をクエリします。SQL ステートメントは次のとおりです。

mysql> select * from orders as o    -> where o.o_num = 30001;+-------+---------------------+-------+| o_num | o_date              | c_id  |+-------+---------------------+-------+| 30001 | 2008-09-01 00:00:00 | 10001 |+-------+---------------------+-------+1 row in set (0.00 sec)
ログイン後にコピー

[例 2 ] 顧客テーブルと注文テーブルにそれぞれエイリアスを付け、接続クエリを実行します。SQL ステートメントは次のとおりです:

mysql> select c.c_id,o.o_num    -> from customers as c left join orders as o    -> on c.c_id = o.c_id;+-------+-------+| c_id  | o_num |+-------+-------+| 10001 | 30001 || 10003 | 30002 || 10004 | 30003 || 10001 | 30005 || 10002 |  NULL |+-------+-------+5 rows in set (0.05 sec)
ログイン後にコピー

結果からわかるように、MySQL は複数のテーブルに同時にエイリアスを付けることができます。 、テーブル エイリアスは、where 句や select リスト、on 句、order by 句など、さまざまな場所に配置できます。

自己結合は特別な内部結合です。結合クエリ内の 2 つのテーブルは同じテーブルです。クエリ ステートメントは次のとおりです:

mysql> select f1.f_id,f1.f_name    -> from fruits as f1,fruits as f2    -> where f1.s_id = f2.s_id and f2.f_id = 'a1';+------+------------+| f_id | f_name     |+------+------------+| a1   | apple      || b1   | blackberry || c0   | cherry     |+------+------------+3 rows in set (0.00 sec)
ログイン後にコピー
(2)、フィールド ## のエイリアス
#select ステートメントを使用してクエリ結果を表示する場合、MySQL は各選択の後に指定された出力カラムを表示します。場合によっては、表示されるカラムの名前が非常に長かったり、名前が十分に直感的ではなかったりします。MySQL は指定できます。列のエイリアス。フィールドまたは式を置き換えます。フィールドに別名を付けるための基本的な構文形式は次のとおりです。

列名 [as] 列别名
ログイン後にコピー
「列名」はテーブル内のフィールドに定義された名前、「列別名」はフィールドの新しい名前、as キーワードはオプションのパラメータ。

[例 1] 果物テーブルをクエリし、f_name に別名 Fruit_name、f_price に別名 Fruit_price を与え、次に果物テーブルに別名 f1 を与え、テーブル内の f_price
mysql> select f1.f_name as fruits_name,f1.f_price as fruit_price    -> from fruits as f1    -> where f1.f_price <8;+-------------+-------------+| fruits_name | fruit_price |+-------------+-------------+| lemon       |        6.40 || apple       |        5.20 || apricot     |        2.20 || berry       |        7.60 || xxxx        |        3.60 || cherry      |        3.20 || xbabay      |        2.60 || grape       |        5.30 || xbabay      |        3.60 |+-------------+-------------+9 rows in set (0.00 sec)
ログイン後にコピー

[例 2]suppliers テーブルのフィールド s_name および s_city をクエリし、concat 関数を使用して 2 つのフィールド値を接続し、列の別名をsuppliers_title として取得します。

mysql> select concat(trim(s_name),'(',trim(s_city),')')
    -> from suppliers    -> order by s_name;+-------------------------------------------+| concat(trim(s_name),'(',trim(s_city),')') |+-------------------------------------------+| ACME(Shanghai)                            || DK Inc(Zhengzhou)                         || FastFruit Inc.(Tianjin)                   || FNK Inc.(Zhongshan)                       || Good Set(Taiyuan)                         || Just Eat Ours(Beijing)                    || LT Supplies(Chongqing)                    |+-------------------------------------------+7 rows in set (0.00 sec)
ログイン後にコピー
結果からわかるように、表示された結果の列名は select 句以降の計算フィールドです。実際、計算列には名前がありません。この結果は非常に理解しにくいです。フィールドのエイリアスを取得すると、結果がより明確になります。SQL ステートメントは次のとおりです:

mysql> select concat(trim(s_name),'(',trim(s_city),')')
    -> as suppliers_title    -> from suppliers    -> order by s_name;+-------------------------+| suppliers_title         |+-------------------------+| ACME(Shanghai)          || DK Inc(Zhengzhou)       || FastFruit Inc.(Tianjin) || FNK Inc.(Zhongshan)     || Good Set(Taiyuan)       || Just Eat Ours(Beijing)  || LT Supplies(Chongqing)  |+-------------------------+7 rows in set (0.00 sec)
ログイン後にコピー
ご覧のとおり、「suppliers_title として追加」を選択すると、計算フィールドのエイリアス Suppliers_title を作成するように MySQL に指示されます。表示結果は指定された列の別名であり、クエリ結果の読みやすさが向上します。

注: テーブルのエイリアスはクエリの実行時にのみ使用され、返される結果には表示されません。列のエイリアスが定義されると、表示のためにクライアントに返されます。表示される結果フィールドは次のとおりです。フィールド列のエイリアス。

#関連する無料学習の推奨事項:

mysql データベース(ビデオ)

以上がテーブルとフィールドに別名を付ける MySQL クエリ関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!