Maison base de données tutoriel mysql MySQL中文参考手册-- 常用查询的例子_MySQL

MySQL中文参考手册-- 常用查询的例子_MySQL

Jun 01, 2016 pm 02:12 PM
中文 例子 常用 手册 查询

手册MySQL查询


  下面是一些学习如何用MySQL解决一些常见问题的例子。
  
  一些例子使用数据库表“shop”,包含某个商人的每篇文章(物品号)的价格。假定每个商人的每篇文章有一个单独的固定价格,那么(物品,商人)是记录的主键。
  
  你能这样创建例子数据库表:
  CREATE TABLE shop (
   article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
   dealer CHAR(20)         DEFAULT ''   NOT NULL,
   price  DOUBLE(16,2)       DEFAULT '0.00' NOT NULL,
   PRIMARY KEY(article, dealer));
  
  INSERT INTO shop VALUES
  (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69),
  (3,'D',1.25),(4,'D',19.95);
  
  好了,例子数据是这样的:
  
  SELECT * FROM shop
  
  +---------+--------+-------+
  | article | dealer | price |
  +---------+--------+-------+
  |  0001 | A   | 3.45 |
  |  0001 | B   | 3.99 |
  |  0002 | A   | 10.99 |
  |  0003 | B   | 1.45 |
  |  0003 | C   | 1.69 |
  |  0003 | D   | 1.25 |
  |  0004 | D   | 19.95 |
  +---------+--------+-------+
  
  3.1 列的最大值
  “最大的物品号是什么?”
  
  SELECT MAX(article) AS article FROM shop
  
  +---------+
  | article |
  +---------+
  |    4 |
  +---------+
  
  3.2 拥有某个列的最大值的行
  “找出最贵的文章的编号、商人和价格”
  
  在ANSI-SQL中这很容易用一个子查询做到:
  
  SELECT article, dealer, price
  FROM  shop
  WHERE price=(SELECT MAX(price) FROM shop)
  
  在MySQL中(还没有子查询)就用2步做到:
  
  用一个SELECT语句从表中得到最大值。
  使用该值编出实际的查询:
  SELECT article, dealer, price
  FROM  shop
  WHERE price=19.95
  
  另一个解决方案是按价格降序排序所有行并用MySQL特定LIMIT子句只得到的第一行:
  
  SELECT article, dealer, price
  FROM  shop
  ORDER BY price DESC
  LIMIT 1
  
  注意:如果有多个最贵的文章( 例如每个19.95),LIMIT解决方案仅仅显示他们之一!
  
  3.3 列的最大值:按组:只有值
  “每篇文章的最高的价格是什么?”
  
  SELECT article, MAX(price) AS price
  FROM  shop
  GROUP BY article
  
  +---------+-------+
  | article | price |
  +---------+-------+
  |  0001 | 3.99 |
  |  0002 | 10.99 |
  |  0003 | 1.69 |
  |  0004 | 19.95 |
  +---------+-------+
  
  3.4 拥有某个字段的组间最大值的行
  “对每篇文章,找出有最贵的价格的交易者。”
  
  在ANSI SQL中,我可以用这样一个子查询做到:
  
  SELECT article, dealer, price
  FROM  shop s1
  WHERE price=(SELECT MAX(s2.price)
         FROM shop s2
         WHERE s1.article = s2.article)
  
  在MySQL中,最好是分几步做到:
  
  得到一个表(文章,maxprice)。见3.4 拥有某个域的组间最大值的行。
  对每篇文章,得到对应于存储最大价格的行。
  这可以很容易用一个临时表做到:
  
  CREATE TEMPORARY TABLE tmp (
      article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
      price  DOUBLE(16,2)       DEFAULT '0.00' NOT NULL);
  
  LOCK TABLES article read;
  
  INSERT INTO tmp SELECT article, MAX(price) FROM shop GROUP BY article;
  
  SELECT article, dealer, price FROM shop, tmp
  WHERE shop.article=tmp.articel AND shop.price=tmp.price;
  
  UNLOCK TABLES;
  
  DROP TABLE tmp;
  
  如果你不使用一个TEMPORARY表,你也必须锁定“tmp”表。
  
  “它能一个单个查询做到吗?”
  
  是的,但是只有使用我称之为“MAX-CONCAT诡计”的一个相当低效的诡计:
  
  SELECT article,
      SUBSTRING( MAX( CONCAT(LPAD(price,6,'0'),dealer) ), 7) AS dealer,
   0.00+LEFT(   MAX( CONCAT(LPAD(price,6,'0'),dealer) ), 6) AS price
  FROM  shop
  GROUP BY article;
  
  +---------+--------+-------+
  | article | dealer | price |
  +---------+--------+-------+
  |  0001 | B   | 3.99 |
  |  0002 | A   | 10.99 |
  |  0003 | C   | 1.69 |
  |  0004 | D   | 19.95 |
  +---------+--------+-------+
  
  最后例子当然能通过在客户程序中分割连结的列使它更有效一点。
  
  3.5 使用外键
  不需要外键联结2个表。
  
  MySQL唯一不做的事情是CHECK以保证你使用的键确实在你正在引用表中存在,并且它不自动从有一个外键定义的表中删除行。如果你象平常那样使用你的键值,它将工作得很好!
  
  CREATE TABLE persons (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    name CHAR(60) NOT NULL,
    PRIMARY KEY (id)
  );
  
  CREATE TABLE shirts (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
    color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
    owner SMALLINT UNSIGNED NOT NULL REFERENCES persons,
    PRIMARY KEY (id)
  );
  
  INSERT INTO persons VALUES (NULL, 'Antonio Paz');
  
  INSERT INTO shirts VALUES
  (NULL, 'polo', 'blue', LAST_INSERT_ID()),
  (NULL, 'dress', 'white', LAST_INSERT_ID()),
  (NULL, 't-shirt', 'blue', LAST_INSERT_ID());
  
  INSERT INTO persons VALUES (NULL, 'Lilliana Angelovska');
  
  INSERT INTO shirts VALUES
  (NULL, 'dress', 'orange', LAST_INSERT_ID()),
  (NULL, 'polo', 'red', LAST_INSERT_ID()),
  (NULL, 'dress', 'blue', LAST_INSERT_ID()),
  (NULL, 't-shirt', 'white', LAST_INSERT_ID());
  
  SELECT * FROM persons;
  +----+---------------------+
  | id | name        |
  +----+---------------------+
  | 1 | Antonio Paz     |
  | 2 | Lilliana Angelovska |
  +----+---------------------+
  
  SELECT * FROM shirts;
  +----+---------+--------+-------+
  | id | style  | color | owner |
  +----+---------+--------+-------+
  | 1 | polo  | blue  |   1 |
  | 2 | dress  | white |   1 |
  | 3 | t-shirt | blue  |   1 |
  | 4 | dress  | orange |   2 |
  | 5 | polo  | red  |   2 |
  | 6 | dress  | blue  |   2 |
  | 7 | t-shirt | white |   2 |
  +----+---------+--------+-------+
  
  SELECT s.* FROM persons p, shirts s
   WHERE p.name LIKE 'Lilliana%'
    AND s.owner = p.id
    AND s.color 'white';
  
  +----+-------+--------+-------+
  | id | style | color | owner |
  +----+-------+--------+-------+
  | 4 | dress | orange |   2 |
  | 5 | polo | red  |   2 |
  | 6 | dress | blue  |   2 |
  +----+-------+--------+-------+
  
  
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment définir le chinois dans le jeu mobile Call of Duty: Warzone Comment définir le chinois dans le jeu mobile Call of Duty: Warzone Mar 22, 2024 am 08:41 AM

Call of Duty Warzone est un jeu mobile récemment lancé. De nombreux joueurs sont très curieux de savoir comment définir la langue de ce jeu sur le chinois. En fait, c'est très simple. Il suffit aux joueurs de télécharger le pack de langue chinoise, puis vous pouvez le faire. modifiez-le après l'avoir utilisé. Le contenu détaillé peut être appris dans cette introduction à la méthode de réglage chinoise. Comment définir la langue chinoise pour le jeu mobile Call of Duty : Warzone 1. Entrez d'abord dans le jeu et cliquez sur l'icône des paramètres dans le coin supérieur droit de l'interface. 2. Dans la barre de menu qui apparaît, recherchez l'option [Télécharger] et cliquez dessus. 3. Sélectionnez [SIMPLIFIEDCHINESE] (chinois simplifié) sur cette page pour télécharger le package d'installation en chinois simplifié. 4. Revenir aux paramètres

Configurer le chinois avec VSCode : le guide complet Configurer le chinois avec VSCode : le guide complet Mar 25, 2024 am 11:18 AM

Configuration de VSCode en chinois : un guide complet Dans le développement de logiciels, Visual Studio Code (VSCode en abrégé) est un environnement de développement intégré couramment utilisé. Pour les développeurs qui utilisent le chinois, la configuration de VSCode sur l'interface chinoise peut améliorer l'efficacité du travail. Cet article vous fournira un guide complet, détaillant comment définir VSCode sur une interface chinoise et fournissant des exemples de code spécifiques. Étape 1 : Téléchargez et installez le pack de langue. Après avoir ouvert VSCode, cliquez sur la gauche.

Comment configurer le tableau Excel pour afficher le chinois ? Tutoriel sur les opérations de commutation en chinois avec Excel Comment configurer le tableau Excel pour afficher le chinois ? Tutoriel sur les opérations de commutation en chinois avec Excel Mar 14, 2024 pm 03:28 PM

La feuille de calcul Excel est l'un des logiciels de bureau que de nombreuses personnes utilisent actuellement. Certains utilisateurs, parce que leur ordinateur est un système Win11, donc l'interface anglaise s'affiche, ils souhaitent passer à l'interface chinoise, mais ils ne savent pas comment l'utiliser. Pour résoudre ce problème, ce problème L'éditeur est là pour répondre aux questions de tous les utilisateurs. Jetons un coup d'œil au contenu partagé dans le didacticiel du logiciel d'aujourd'hui. Tutoriel pour passer d'Excel au chinois : 1. Entrez dans le logiciel et cliquez sur l'option "Fichier" sur le côté gauche de la barre d'outils en haut de la page. 2. Sélectionnez « options » parmi les options ci-dessous. 3. Après être entré dans la nouvelle interface, cliquez sur l'option « langue » à gauche

12306 Comment vérifier l'historique des enregistrements d'achat de billets Comment vérifier l'historique des enregistrements d'achat de billets 12306 Comment vérifier l'historique des enregistrements d'achat de billets Comment vérifier l'historique des enregistrements d'achat de billets Mar 28, 2024 pm 03:11 PM

Téléchargez la dernière version de l'application de réservation de billets 12306. C'est un logiciel d'achat de billets de voyage dont tout le monde est très satisfait. Il est très pratique d'aller où vous voulez. Il existe de nombreuses sources de billets fournies dans le logiciel. -authentification par nom pour acheter des billets en ligne. Tous les utilisateurs Vous pouvez facilement acheter des billets de voyage et des billets d'avion et profiter de différentes réductions. Vous pouvez également commencer à réserver à l'avance pour récupérer des billets. Vous pouvez réserver des hôtels ou des transferts spéciaux en voiture. Grâce à lui, vous pouvez aller où vous voulez et acheter des billets en un seul clic. Voyager est plus simple et plus pratique, ce qui rend l'expérience de voyage de chacun. plus confortable. Désormais, l'éditeur le détaille en ligne. Offre à 12306 utilisateurs un moyen de consulter l'historique des achats de billets. 1. Ouvrez Railway 12306, cliquez sur Mon dans le coin inférieur droit, puis cliquez sur Ma commande. 2. Cliquez sur Payé sur la page de commande. 3. Sur la page payante

Comment vérifier vos diplômes universitaires sur Xuexin.com Comment vérifier vos diplômes universitaires sur Xuexin.com Mar 28, 2024 pm 04:31 PM

Comment vérifier mes diplômes universitaires sur Xuexin.com ? Vous pouvez vérifier vos diplômes universitaires sur Xuexin.com. De nombreux utilisateurs ne savent pas comment vérifier leurs diplômes universitaires sur Xuexin.com. Ensuite, l'éditeur vous propose un didacticiel graphique sur la façon de vérifier vos diplômes universitaires sur Xuexin.com. les utilisateurs viennent jeter un oeil ! Tutoriel d'utilisation de Xuexin.com : Comment vérifier vos diplômes universitaires sur Xuexin.com 1. Entrée Xuexin.com : https://www.chsi.com.cn/ 2. Requête sur le site Web : Étape 1 : Cliquez sur l'adresse Xuexin.com ci-dessus pour accéder à la page d'accueil Cliquez sur [Requête sur l'éducation] ; Étape 2 : Sur la dernière page Web, cliquez sur [Requête] comme indiqué par la flèche dans la figure ci-dessous. Étape 3 : Cliquez ensuite sur [Connexion au fichier de crédits académiques] sur la nouvelle page ; Étape 4 : Sur la page de connexion, saisissez les informations et cliquez sur [Connexion] ;

Est-ce que wwe2k24 aura du chinois ? Est-ce que wwe2k24 aura du chinois ? Mar 13, 2024 pm 04:40 PM

"WWE2K24" est un jeu de sports de course créé par Visual Concepts et sorti officiellement le 9 mars 2024. Ce jeu a été très apprécié et de nombreux joueurs souhaitent vivement savoir s'il aura une version chinoise. Malheureusement, jusqu'à présent, "WWE2K24" n'a pas encore lancé de version en langue chinoise. wwe2k24 sera-t-il en chinois ? Réponse : Le chinois n'est pas actuellement pris en charge. La version standard de WWE2K24 dans la région chinoise de Steam est au prix de 199 yuans, la version de luxe est de 329 yuans et l'édition commémorative est de 395 yuans. Le jeu a des exigences de configuration relativement élevées et il existe certaines normes en termes de processeur, de carte graphique ou de mémoire opérationnelle. Configuration officielle recommandée et introduction à la configuration minimale :

Conseils pour résoudre les caractères chinois tronqués lors de l'écriture de fichiers txt avec PHP Conseils pour résoudre les caractères chinois tronqués lors de l'écriture de fichiers txt avec PHP Mar 27, 2024 pm 01:18 PM

Conseils pour résoudre les caractères chinois tronqués écrits par PHP dans des fichiers txt Avec le développement rapide d'Internet, PHP, en tant que langage de programmation largement utilisé, est utilisé par de plus en plus de développeurs. Dans le développement PHP, il est souvent nécessaire de lire et d'écrire des fichiers texte, y compris des fichiers txt qui écrivent du contenu chinois. Cependant, en raison de problèmes de format d'encodage, le chinois écrit apparaîtra parfois tronqué. Cet article présentera quelques techniques pour résoudre le problème des caractères chinois tronqués écrits dans des fichiers txt par PHP et fournira des exemples de code spécifiques. Analyse de problèmes en PHP, texte

Comment passer Google Chrome en mode chinois ? Comment passer Google Chrome en mode chinois ? Mar 13, 2024 pm 07:31 PM

Comment changer le chinois en anglais dans Google Chrome ? Certains amis souhaitent régler Google Chrome sur l'anglais afin de pouvoir améliorer continuellement leur anglais pendant leur utilisation. Alors comment le mettre en anglais ? Google Chrome est le chinois par défaut. Ci-dessous, je vais vous montrer comment définir la langue de Google Chrome sur l'anglais. Étapes de configuration : 1. Ouvrez [Google Chrome], comme indiqué dans la figure ci-dessous. 2. Cliquez sur le menu [trois points] dans le coin supérieur droit de l'interface de Google Chrome, comme indiqué dans la figure ci-dessous. 3. Après être entré dans la page de menu, recherchez [Paramètres], comme indiqué dans la figure ci-dessous. 4. Après avoir accédé à la page des paramètres, cliquez sur l'option [Langue], comme indiqué dans la figure ci-dessous. 5. Sélectionnez [Ajouter une langue] dans l'interface linguistique, comme indiqué dans la figure ci-dessous.

See all articles